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

Jenkins AWS Device Farm插件无法找到APK文件问题求助

解决Jenkins上传AWS Device Farm时的APK找不到问题

我之前帮好几个开发者解决过类似的问题,核心都是路径匹配错误或者Jenkins归档环节没做好,咱们一步步来排查:

  • 第一步:先搞清楚APK到底在哪
    别瞎猜路径,直接在Jenkins构建步骤里加一个shell命令(Windows节点用dir命令):

    find ${WORKSPACE} -name "*PlayerSDK-debug-androidTest*.apk"
    

    运行构建后看控制台输出的完整路径,这是最准确的。也可以登录Jenkins节点服务器,直接去工作区目录里找这个文件,确认它确实存在,以及路径和你填的是否一致。

  • 第二步:确保Jenkins正确归档Artifacts
    AWS Device Farm插件很多时候依赖Jenkins归档的文件来上传,所以必须先把APK归档:

    1. 在Jenkins任务的「构建后操作」里添加「归档Artifacts」
    2. 把刚才找到的相对路径填进去(比如build/outputs/apk/androidTest/debug/PlayerSDK-debug-androidTest.apk,或者用通配符**/PlayerSDK-debug-androidTest.apk)
    3. 运行构建后,去任务的「Artifacts」标签页看看能不能看到这个APK,如果能看到,说明归档成功了。
  • 第三步:修正AWS Device Farm插件的路径配置

    • 如果插件支持选择已归档的Artifacts,直接从下拉列表里选刚才归档的APK,绝对不会错;
    • 如果必须手动输入路径,要么用和归档完全一致的相对路径,要么用${WORKSPACE}变量拼接绝对路径,比如:
      ${WORKSPACE}/build/outputs/apk/androidTest/debug/PlayerSDK-debug-androidTest.apk
      
      别直接写固定绝对路径,因为不同节点的工作区路径可能不一样。
  • 第四步:确认测试APK确实被生成了
    有时候构建日志显示“成功”,但其实没生成androidTest的APK——因为你的Gradle命令里没包含对应的任务。检查Jenkins的构建命令,必须包含assembleDebugAndroidTest,比如:

    ./gradlew clean assembleDebug assembleDebugAndroidTest
    

    这个任务才会生成androidTest目录下的测试APK。

  • 第五步:排查文件权限问题
    极少数情况是Jenkins运行用户没有读取APK的权限,你可以在构建步骤里加个命令检查:

    ls -l ${WORKSPACE}/build/outputs/apk/androidTest/debug/PlayerSDK-debug-androidTest.apk
    

    如果权限显示不是-rw-r--r--这类可读的,就加个chmod命令修改权限:

    chmod 644 ${WORKSPACE}/build/outputs/apk/androidTest/debug/PlayerSDK-debug-androidTest.apk
    

按这个流程走,基本就能解决找不到文件的问题了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 08:35:56