通过Azure android签名生成管道对其进行签名后的.apk文件输出在哪里?

时间:2019-11-13 14:44:04

标签: azure build azure-devops apk azure-pipelines

我正在使用Azure'Android Signing'任务在构建管道中对apk文件进行签名,但看不到签名的apk输出到的路径。我已经将构建管道的整个根导出为.zip文件,但是不存在签名的.apk文件。更令人困惑的是,Android Signing任务是 passing ,因此已签名的.apk必须在正确的位置吗?问题是在哪里!

谢谢

1 个答案:

答案 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)'.

然后,您可以从构建摘要页面下载apk。 enter image description here

从azure服务器下载apk后,您可以运行以下命令来检查apk是否已签名。

$ jarsigner -verify -verbose -certs my_application.apk