我需要设置 Azure 一个 devops 管道来构建我的原生 Android 应用程序并将其作为 App Bundle 部署到 Google Play 商店或 App Center。
我可以想办法部署一个 apk,但需要帮助来部署应用程序包(.aab)。任何帮助,将不胜感激。
我需要设置 Azure 一个 devops 管道来构建我的原生 Android 应用程序并将其作为 App Bundle 部署到 Google Play 商店或 App Center。
我可以想办法部署一个 apk,但需要帮助来部署应用程序包(.aab)。任何帮助,将不胜感激。
您可以使用 Google Play - Release Bundle 任务来部署应用程序包 (.aab)。在您的 azure devops 组织中安装Google play 扩展后。您可以在管道中添加 Google Play - Release Bundle 任务,并将该bundleFile
字段配置为生成的 .aab bundleFile 的位置。见下文。
- task: ms-vsclient.google-play.google-play-release-bundle.GooglePlayReleaseBundle@3
displayName: 'Release functionParam.ps1 to internal'
inputs:
serviceConnection: googleServiceEndPoint
applicationId: applicationId
bundleFile: **/*.aab
查看以下教程,为您的 Android 应用程序创建管道
更新:
jarsigner
您可以在 azure 管道中使用命令对 aab 包进行签名。如果您将 keystore_file 上传到安全文件,您可能需要使用下载安全文件任务来使用它。例如,在 powershell 任务中运行以下 jarsigner 命令:
jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore my_keystor_file.keystore -storepass 'super_secret_keystore_pass' -keypass 'super_secret_alias_password' my-app-bundle.aab myKeyStoreAlias
有关更多信息,请参阅此线程。
您还可以使用 Xamarin.Android 构建任务。并在 Additional arguments 中传递以下论点,以便构建打包和签署 App Bundle:
-restore -t:SignAndroidPackage -p:AndroidPackageFormat=aab -p:AndroidKeyStore=True -p:AndroidSigningKeyStore=$(keystore.secureFilePath) -p:AndroidSigningStorePass=$(KeystorePassword) -p:AndroidSigningKeyAlias=$(KeystoreAlias) -p:AndroidSigningKeyPass=$(KeystorePassword)
请参阅此处了解更多信息。
将 apkFiles 更改为**/*.aab
并传递算法,-sigalg SHA256withRSA -digestalg SHA-256
作为 jarsignerArguments。
像这样:
- task: AndroidSigning@2
inputs:
apkFiles: '**/*.aab'
jarsign: true
jarsignerKeystoreFile: 'pathToYourKeystoreFile'
jarsignerKeystorePassword: '$(jarsignerKeystorePassword)'
jarsignerKeystoreAlias: '$(yourKeystoreAlias)'
jarsignerKeyPassword: '$(jarsignerKeyPassword)'
jarsignerArguments: '-sigalg SHA256withRSA -digestalg SHA-256'
zipalign: true