自动化Android版本号更新指南

在开发.NET MAUIAndroid应用程序时,经常需要将应用部署到Google Play商店进行内部测试。这个过程通常涉及到手动编辑AndroidManifest.xml文件中的版本号,这不仅耗时而且容易出错。为了解决这个问题,可以采用自动化的方法来更新版本号。

使用了名为“Automatic Versions 3”的扩展程序来自动更新Assembly Version号。这个扩展程序允许控制版本号的更新方式,例如,可以设置构建部分的版本号在每次构建时自动递增。这样,无论是调试还是发布构建,版本号都会自动增加。

为了更新AndroidManifest.xml文件,使用了一个预构建事件,并执行了一个PowerShell脚本。这个脚本的代码是由GitHub Copilot或Edge Sidebar Copilot生成的。以下是脚本的详细内容:

Shell param( [ string ] $projectPath , [ string ]$androidManifestPath) # Extract AssemblyVersion from .csproj file $assemblyVersion = [ System .Text.RegularExpressions.Regex]::Match((Get-Content $projectPath -Raw), ' (.*?)' ).Groups [ 1 ].Value # Split AssemblyVersion into parts $versionParts = $assemblyVersion.Split( ' .' ) # Set versionCode as the third number in AssemblyVersion $versionCode = $versionParts [ 2 ] # Set versionName as the full AssemblyVersion $versionName = $assemblyVersion # Load AndroidManifest.xml as an XML document $androidManifest = [ xml ](Get-Content $androidManifestPath) # Update android:versionCode and android:versionName $manifest = $androidManifest.SelectSingleNode( " /manifest" ) $manifest.SetAttribute( " android:versionCode" , $versionCode) $manifest.SetAttribute( " android:versionName" , $versionName) # Save the updated AndroidManifest.xml $androidManifest.Save($androidManifestPath) <Target Name= " UpdateVersionInformation" BeforeTargets= " BeforeBuild" > <Exec Command= " powershell -File $(ProjectDir)UpdateAndroidManifest.ps1 " $(ProjectDir)MyNextBook.csproj " " $(ProjectDir)Platforms\Android\AndroidManifest.xml " "/> </Target>
沪ICP备2024098111号-1
上海秋旦网络科技中心:上海市奉贤区金大公路8218号1幢 联系电话:17898875485