android - 在 Azure Devops 中签名和对齐 APK 文件 **/*.apk

标签 android azure-devops apk azure-pipelines devops

我一直在尝试对 android apk 进行 devops 构建,但我的管道在签名和对齐 Apk 阶段时失败。

我收到以下错误

##[错误]错误:未找到与搜索模式匹配的文件:D:\a\1\s***.apk PIPELINE Definition Snapshot_1] PIPELINE Definition Snapshot_2

最佳答案

[error]Error: No matching files were found with search pattern: D:\a\1\s***.apk

此错误表明您在默认工作目录中没有生成 xx.apk 文件。您可以按照以下步骤查找问题的根本原因并解决:

  1. gradlew build 任务的工作目录留空,并确保此任务成功生成 xx.apk 文件。

  2. 在 Android 签名任务中,使用 **\*.apk 模式。

  3. 确保 gradlew build签名和对齐 APK 任务位于同一个 Job 。如果您使用托管代理来运行这些任务,则它们必须位于相同管道/stage 内的相同作业中以便签名和对齐APK任务可以直接访问gradlew build任务的输出。

    请确保这两个任务位于同一个作业中。如果您有特定原因必须将它们放在单独的作业/阶段/管道中,请考虑使用 Artifacts-related tasks作业/阶段/管道之间共享文件。

    由于作业是作为一个单元按顺序运行的一系列步骤,因此不同的作业将在不同计算机上运行,​​尽管这些代理称为托管 Windows/Linux。因此建议将这两个任务放在同一个作业中。

  4. 如果问题仍然存在,但任务位于同一作业中,请设置 system.debug变量设置为 true 并再次运行管道,然后您可以查看有关 gradlew build 任务的详细信息。

    enter image description here

    然后就可以找到生成xx.apk文件的输出路径。之后copy those files到默认工作目录($(System.DefaultWorkingDirectory)),签名任务可以找到该文件。

关于android - 在 Azure Devops 中签名和对齐 APK 文件 **/*.apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61724391/

相关文章:

Android 应用程序 ABI 和 native 调试

android - 如何知道EditText的高度?

android - 我如何在运行时更改改造 URL

azure-devops - 如何将测试用例从 Excel 导入到 VSTS/Azure DevOps

android - 是否可以在 iPad/iPhone 设备上运行 .APK/Android 应用程序?

android - 为什么从 google play 下载时所需的空间大于 apk 大小

java - 从游戏逻辑更新中补偿绘图延迟

kubernetes - 使用来自 Azure Keyvault 的证书作为 kubernetes secret

azure - 发布有关 AzureDevops 失败的测试覆盖率报告

android - 是否可以将预构建的 APK 作为用户应用程序添加到 AOSP 构建中?