我正在使用Azure'Android Signing'任务在构建管道中对apk文件进行签名,但看不到签名的apk输出到的路径。我已经将构建管道的整个根导出为.zip文件,但是不存在签名的.apk文件。更令人困惑的是,Android Signing任务是 passing ,因此已签名的.apk必须在正确的位置吗?问题是在哪里!
谢谢
答案 0 :(得分:1)
Android签名”任务未创建新的APK。签名的apk仍在android build任务的输出文件夹中。
如果您使用XamarinAndroid任务来构建您的apk。下面的示例会将.apk输出到$(Build.ArtifactStagingDirectory)
:检查here中所有预定义的变量
- task: XamarinAndroid@1
inputs:
projectFile: '**/*droid*.csproj'
outputDirectory: '$(Build.ArtifactStagingDirectory)'
configuration: '$(buildConfiguration)'
然后您可以添加android sign任务并将apkFiles指向$(Build.ArtifactStagingDirectory)/*.apk
,例如以下示例:
- task: AndroidSigning@3
inputs:
apksign: true
zipalign: false
apksignerKeystoreFile: levi.keystore
apkFiles: '$(Build.ArtifactStagingDirectory)/*.apk'
keystoreAlias: levi
apksignerKeyPassword: '**'
apksignerKeystorePassword: '**'
然后您可以添加一个发布工件任务,以将apk发布到azure服务器,在构建完成后,您可以在其中从azure devops构建摘要UI下载。
- task: PublishBuildArtifacts@1
inputs:
pathtoPublish: '$(Build.ArtifactStagingDirectory)'.
从azure服务器下载apk后,您可以运行以下命令来检查apk是否已签名。
$ jarsigner -verify -verbose -certs my_application.apk