1

我有一个单声道 android 项目。我可以使用 monodevelop 来构建我的项目的 apk。但是我想用可以生成 .apk 文件的目标编写一个构建文件(就像我们使用 ANT 一样)。

请指出正确的方向。

我发现我们需要使用 mandroid.exe 从 .dll 生成 .apk。日志显示monodevelop 的构建工具运行一个名为_Manddroid 的目标。该目标依次运行以下命令

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 上复制粘贴上述命令时,没有任何反应。知道我在这里缺少什么吗?

4

2 回答 2

4

我使用了以下命令,它为我生成了 .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 中。

于 2012-03-21T07:08:51.433 回答
1

为什么要编写替代目标?Mono for Android 项目文件是基于 MSBuild 的,MSBuild 相当于微软的 ant。这意味着 csproj 文件已经是完全可扩展和可定制的,并且可以使用命令行 MSBuild 工具构建:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\MSBuild.exe YourSolution.sln
于 2012-03-16T16:17:47.690 回答