MSBuild ignores AndroidVersionCode



根据文档,可以将-p:AndroidVersionCode=101定义为MSBuild参数之一。

然而,Android版本代码被忽略,最终的APK文件总是只包含来自AndroidManifest.xml的值,即使<GenerateApplicationManifest>true</GenerateApplicationManifest>是在*Droid.csproj文件中定义的(事实上,我也在netstandard csfile中设置了它)。

如何定义版本代码的MSBuild?

下面是我使用的完整的MSBuild命令:

msbuild -t:Clean -t:PackageForAndroid -p:AndroidPackageFormat=apk -p:ApplicationVersion="1.0" -p:AndroidVersionCode=101 -p:ApplicationId="cz.sebastian.myapp" -p:OutputPath="C:Packages" -p:Configuration=Release .MyApp.Droid.csproj

经过几次实际实验,我发现如下:

  1. 文档错误属性AndroidVersionCode不反映Android的版本代码,事实上,我没有发现它真正的用途。版本码只能通过ApplicationVersion属性修改。

  2. 要真正更改版本代码,必须从AndroidManifest.xml中删除android:versionCode

综上所述:将android:versionCode从Android清单中删除,并使用整数值的ApplicationVersion

MSBuild version 17.4.0+18d5aef85 for .NET Framework

相关内容

  • 没有找到相关文章

最新更新