har*_*nat 4 android azure azure-devops azure-pipelines
我想使用 Azure 管道生成 Android 应用程序包 (.aab) 文件,但在生成 Android 应用程序包文件时遇到问题。
我已使用以下 Gradle 任务来生成并签署 .aab 文件。但是,它生成 .APK 文件。我想生成 .aab 文件。
- task: Gradle@2
inputs:
gradleWrapperFile: 'gradlew'
tasks: 'buildRelease'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
sonarQubeRunAnalysis: false
spotBugsAnalysis: false
Run Code Online (Sandbox Code Playgroud)
这是脚本,我在其中使用 jarsigner 来签署 .aab 文件:
- task: CmdLine@2
displayName: 'Signing and aligning AAB file(s) app\build\outputs\bundle\release\app-release.aab'
inputs:
script: 'jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore $(KeyStoreFile.secureFilePath) -storepass $(StorePassword) -keypass $(KeyPassword) $(system.defaultworkingdirectory)/app/build/outputs/bundle/release/app-release.aab $(KeyStoreAlias)'
Run Code Online (Sandbox Code Playgroud)
har*_*nat 11
在 Gradle 任务中:我需要将tasks值“ buildRelease”更改为“ :app:bundleRelease”以生成 .aab 文件。
这是我用来生成和签署 .aab 文件的 .yaml 文件:
trigger:
- master
pool:
vmImage: ubuntu-latest
steps:
- task: DownloadSecureFile@1
inputs:
secureFile: 'AndroidApp.jks'
- task: Gradle@2
inputs:
gradleWrapperFile: 'gradlew'
tasks: ':app:bundleRelease'
publishJUnitResults: false
javaHomeOption: 'JDKVersion'
sonarQubeRunAnalysis: false
spotBugsAnalysis: false
- task: CmdLine@2
displayName: 'Signing and aligning AAB file(s) app\build\outputs\bundle\release\app-release.aab'
inputs:
script: 'jarsigner -verbose -sigalg SHA256withRSA -digestalg SHA-256 -keystore $(KeyStoreFile.secureFilePath) -storepass $(StorePassword) -keypass $(KeyPassword) $(system.defaultworkingdirectory)/app/build/outputs/bundle/release/app-release.aab $(KeyStoreAlias)'
- task: CopyFiles@2
inputs:
SourceFolder: '$(system.defaultworkingdirectory)/app/build/outputs/bundle/release/'
Contents: '**'
TargetFolder: '$(build.artifactstagingdirectory)'
- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: '$(Build.ArtifactStagingDirectory)'
ArtifactName: 'drop'
publishLocation: 'Container'
Run Code Online (Sandbox Code Playgroud)
我在签名任务中创建并使用了以下变量:
KeyStoreFile.secureFilePath
StorePassword
KeyPassword
KeyStoreAlias
Run Code Online (Sandbox Code Playgroud)