使用MSBuild命令行错误创建APK(PackageForAndroid或SignAndroidPackage)

时间:2017-03-28 12:23:24

标签: visual-studio-2015 xamarin.android

所以我一直在尝试使用MSBuild命令行可执行文件在发布模式下创建一个APK。

以下是我创建的批处理文件的内容:

ECHO Building DsdMobile解决方案......> CON cd“C:\ Ross \ DEVELOPMENT \ HANDHELD \ Android \ Dsd Mobile MaterialDesign”

“C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin \ MSBuild.exe”DsdMobile.sln / P:Configuration = Release / v:quiet / t:Clean / nologo < / p>

“C:\ Program Files(x86)\ MSBuild \ 14.0 \ Bin \ MSBuild.exe”DsdMobile.sln / P:Configuration = Release / v:quiet / t:Rebuild,PackageForAndroid / nologo

第一行我将目录更改为我的解决方案位置。 接下来,我做一个干净的

最后,我做了一个Rebuild和PackageForAndroid(我期待在我的bin发布文件夹中有一个... apk文件。从来没有创建过apk,我收到错误。

构建成功,但我收到错误:

“C:Ross \ Development \ Handheld \ Android \ Dsd Mobile MaterialDesign \ DsdMobile.sln.metaproj:错误MSB4057:目标”PackageForAndroid“在项目中不存在。[C:\ Ross \ DEVELOPMENT \ HANDHELD \ Android \ Dsd Mobile MaterialDesign \ DsdMobile.sln]

我也尝试使用“SignAndroidPackage”:t /参数,但这也失败并出现同样的错误:

“C:Ross \ Development \ Handheld \ Android \ Dsd Mobile MaterialDesign \ DsdMobile.sln.metaproj:错误MSB4057:目标”SignAndroidPackage“在项目中不存在。[C:\ Ross \ DEVELOPMENT \ HANDHELD \ Android \ Dsd Mobile MaterialDesign \ DsdMobile.sln]

我一直使用的资源来自PowerShell脚本:

https://gist.github.com/postb99/8319234

4 个答案:

答案 0 :(得分:4)

尝试构建Android csproj文件而不是解决方案文件。

答案 1 :(得分:0)

您可以构建解决方案,您需要在目标中指定项目和任务,例如:

.WithTarget("DroidAppProj:SignAndroidPackage")

以下是更多文档: 如果有,则扰流板辅助。在您的项目名称中: https://docs.microsoft.com/en-us/visualstudio/msbuild/how-to-build-specific-targets-in-solutions-by-using-msbuild-exe?view=vs-2017

答案 2 :(得分:0)

在Visual Studio 2017和2019命令行提示符下,这对我来说很好用:

RUN

如前所述,构建csproj而不是解决方案。

答案 3 :(得分:0)

您可以使用

/p:AndroidBuildApplicationPackage=true而不是/t:SignAndroidPackage

请参见Building Process - AndroidBuildApplicationPackage