【问题标题】:Signing and aligning APK file(s) **/*.apk in Azure Devops在 Azure Devops 中签名和对齐 APK 文件 **/*.apk
【发布时间】:2020-05-11 07:28:24
【问题描述】:

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

我收到以下错误

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

【问题讨论】:

  • 我无法在我这边重现同样的问题。您能否分享一些有关您的管道定义的详细信息?您可以考虑在此处共享 yaml 文件,以便我们为您检查。
  • @LanceLi-MSFT 我在问题本身中附上了管道定义的屏幕截图作为更新。请仔细查看。
  • 不确定您的项目是否是 xamarin,但您的步骤的第一步应该是构建任务而不是签名任务(应该是第二步)。 Gradle taskxamarin.android,选择正确的构建任务,问题就会消失。
  • 你好朋友,这个问题有更新吗?如果问题仍然阻止您,请随时让我知道。提醒一下this~
  • 我根据您的反馈进行了更改,现在我收到了这个错误,尽管工作目录现在设置正确。 Li-MSFT 配置根项目“ProjectName”时出现问题。 > 未能通知项目评估监听器。 > org.gradle.api.file.ProjectLayout.directoryProperty(Lorg/gradle/api/provider/Provider;)Lorg/gradle/api/file/DirectoryProperty;

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


【解决方案1】:

[错误]错误:没有找到符合搜索模式的匹配文件:D:\a\1\s***.apk

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

  1. gradlew build 任务的working directory 留空,并确保此任务成功生成xx.apk 文件。

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

  3. 确保gradlew buildSigning and aligning APK 任务在同一个Job 中。如果您使用托管代理来运行这些任务,它们必须在 same 管道/stage 内的 same 作业中,以便Signing and aligning APK 任务可以直接访问gradlew build 任务的输出。

    请确保这两个任务在同一个工作中。如果您有特定的原因必须将它们放在单独的jobs/stages/pipelines 中,请考虑使用Artifacts-related tasksjobs/stages/pipelines 之间共享文件。

    由于作业是作为一个单元按顺序运行的一系列步骤,因此不同的作业将在不同机器上运行,尽管这些代理被称为托管 windows/linux。所以建议将这两个任务放在同一个工作中。

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

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

【讨论】:

  • 根据第 4 点,我将系统调试变量启用为 true,显然没有创建 apk 的日志消息
  • 我附上了有问题的管道定义,请看一下
  • @user9683713 嗯,你的 gradlew 构建任务在哪里!?如果在签名任务之前没有生成apk文件的构建任务,那么签名任务如何找到丢失的apk文件...
  • 你的答案是正确的,但由于 gradle 版本不匹配,现在没有进行构建,如果我修复一次,我会更新你
  • 问题已解决@Lance。在 Power shell 中,我不得不使用 gradleAssemle Debug 命令。感谢您最初顺便指导!
【解决方案2】:

看起来在构建代理的工作目录下找不到 .apk 文件。请检查构建管道的代码签出步骤,并确保 .apk 文件作为构建步骤的一部分被签出。您也可以查看日志以确认这一点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-13
    相关资源
    最近更新 更多