5

我需要设置 Azure 一个 devops 管道来构建我的原生 Android 应用程序并将其作为 App Bundle 部署到 Google Play 商店或 App Center。

我可以想办法部署一个 apk,但需要帮助来部署应用程序包(.aab)。任何帮助,将不胜感激。

4

2 回答 2

4

您可以使用 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 应用程序创建管道

构建、测试和部署 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)

请参阅此处了解更多信息。

于 2020-09-10T03:58:00.253 回答
3

将 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
于 2021-11-04T06:50:14.867 回答