You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Pipeline中AndroidSigning@3任务构建失败,JDK需求不满足

解决Azure Pipeline AndroidSigning@3任务JDK需求不匹配问题

排查及解决步骤

  1. 确认代理能力上报情况

    • 登录Azure DevOps,进入test-agents-2022代理池,找到目标代理查看「能力」列表,确认是否存在名为JDK的能力项。如果没有,手动添加:
      • 进入代理的「能力」页面,点击「添加能力」,名称填JDK,值填21(对应你的JDK版本)。
    • 在代理机器上重启Azure Pipelines Agent服务,让代理重新扫描并上报已安装软件的能力。
  2. 显式指定任务的JDK配置
    AndroidSigning@3任务默认可能依赖特定JDK版本,可在YAML中直接指定版本或安装路径:

    - task: AndroidSigning@3
      inputs:
        apkFiles: '**/*.apk'
        apksignerKeystoreFile: 'your-keystore.jks'
        apksignerKeystorePassword: '$(keystorePassword)'
        apksignerKeyAlias: '$(keyAlias)'
        apksignerKeyPassword: '$(keyPassword)'
        # 指定JDK版本,或用jdkDirectory直接指向安装路径
        jdkVersionOption: '21'
        jdkArchitectureOption: 'x64'
    

    如果代理上的JDK路径不是默认位置,直接填写路径:

    jdkDirectory: 'C:\Program Files\Java\jdk-21' # Windows示例,Linux/macOS对应调整路径
    
  3. 调整流水线需求匹配代理实际能力
    部分代理可能将JDK识别为java或JAVA_HOME而非JDK,修改流水线需求,替换为代理实际存在的能力名称:

    pool:
      name: test-agents-2022
      demands:
        - msbuild
        - visualstudio
        - java
        - Agent.Version -gtVersion 2.206.1
        - javaVersion -equals 21 # 替换为代理能力列表中实际的版本项
    
  4. 验证代理机器的JDK可用性

    • 在代理机器上打开命令行,执行java -version和javac -version,确认JDK正常运行。
    • 检查JAVA_HOME环境变量是否正确指向JDK21安装目录,且该变量已添加到系统环境变量中(确保代理服务能读取到)。

内容的提问来源于stack exchange,提问作者S Khan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 12:37:02