我一直在尝试对 android apk 进行 devops 构建,但我的管道在签名和对齐 Apk 阶段时失败。
我收到以下错误
##[错误]错误:未找到与搜索模式匹配的文件:D:\a\1\s***.apk PIPELINE Definition Snapshot_2
最佳答案
[error]Error: No matching files were found with search pattern: D:\a\1\s***.apk
此错误表明您在默认工作目录中没有生成 xx.apk
文件。您可以按照以下步骤查找问题的根本原因并解决:
将
gradlew build
任务的工作目录
留空,并确保此任务成功生成xx.apk
文件。在 Android 签名任务中,使用
**\*.apk
模式。确保
gradlew build
和签名和对齐 APK
任务位于同一个 Job 。如果您使用托管代理来运行这些任务,则它们必须位于相同管道/stage 内的相同作业中以便签名和对齐APK
任务可以直接访问gradlew build
任务的输出。请确保这两个任务位于同一个作业中。如果您有特定原因必须将它们放在单独的
作业/阶段/管道
中,请考虑使用 Artifacts-related tasks在作业/阶段/管道
之间共享文件。由于作业是作为一个单元按顺序运行的一系列步骤,因此不同的作业将在不同计算机上运行,尽管这些代理称为托管 Windows/Linux。因此建议将这两个任务放在同一个作业中。
如果问题仍然存在,但任务位于同一作业中,请设置 system.debug变量设置为 true 并再次运行管道,然后您可以查看有关 gradlew build 任务的详细信息。
然后就可以找到生成
xx.apk
文件的输出路径。之后copy those files到默认工作目录($(System.DefaultWorkingDirectory)
),签名任务可以找到该文件。
关于android - 在 Azure Devops 中签名和对齐 APK 文件 **/*.apk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61724391/