Как создать файл сборки для сборки моно Android-проекта и создать файл myproject.apk.? - PullRequest
1 голос
/ 16 марта 2012

У меня моно андроид проект.Я могу использовать monodevelop для сборки apk моего проекта.Но я хочу написать файл сборки (как мы используем ANT) с целями, которые могут генерировать файл .apk.

Пожалуйста, укажите мне правильное направление.

Я выяснил,нам нужно использовать mandroid.exe для создания .apk из .dll.журнал показывает, что существует цель с именем _Manddroid, которую запускает инструмент сборки monodevelop.Эта цель, в свою очередь, выполняет следующую команду

C:\Program Files\MSBuild\Novell\mandroid.exe -v --nosign --sdk-dir="C:\Android\android-sdk" --builddir="C:\Users\Sikha\Documents\Projects\helloShikha\helloShikha\obj\Debug\android" --framework-dir="C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2" --framework-dir="C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0" -S="C:\Users\Sikha\Documents\Projects\helloShikha\helloShikha\obj\Debug\res" --package="helloShikha.helloShikha"   --nolink --abi="armeabi" --java-sdk-dir="C:\Program Files\Java\jdk1.6.0_30" --debug --sdk-platform="8" "C:\Users\Sikha\Documents\Projects\helloShikha\helloShikha\bin\Debug\helloShikha.dll" "C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v2.2\Mono.Android.dll" "C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll" "C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll" "C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll" "C:\Program Files\Reference Assemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll"

Когда я пытаюсь скопировать и вставить вставленную выше команду в cmd, ничего не происходит.Есть идеи, что мне здесь не хватает?

Ответы [ 2 ]

4 голосов
/ 21 марта 2012

Я использовал следующую команду, и она сгенерировала для меня файл .apk.

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe myproject.csproj /t:Package

Я попытался использовать файл .sln, но получил сообщение об ошибке: целевой пакет не существует в проекте. Я открыл файл myproject.csproj и выяснил, что этот файл импортирует Novell.MomoDroid.CSharp.Targets, который, в свою очередь, импортирует Novell.MonoDroid.Common.Targets

Цель «Пакет» присутствует в файле Novell.MonoDroid.Common.Targets.

1 голос
/ 16 марта 2012

Почему вы хотите написать альтернативные цели?Файлы проекта Mono для Android основаны на MSBuild, а MSBuild является эквивалентом ant для Microsoft.Это означает, что файлы csproj уже полностью расширяемы и настраиваемы и могут быть собраны с использованием инструмента командной строки MSBuild:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe YourSolution.sln
...