Codemagic中Patrol构建Android APK失败:找不到gradlew文件
解决Patrol构建Android APK时找不到gradlew的问题
问题原因
错误日志里的/bin/sh: ./gradlew: No such file or directory表明,Patrol CLI尝试在当前目录执行gradlew脚本,但该脚本实际位于项目的android/子目录下,或者脚本缺少可执行权限,导致Gradle构建失败(错误码127)。
修复步骤
1. 为gradlew添加执行权限
在执行Patrol构建命令前,先给android/gradlew添加可执行权限,修改Codemagic脚本如下:
- name: create debug and test apk script: | chmod +x android/gradlew patrol build android --target integration_test/hlp_test/hlp_test.dart --flavor dev
2. 预生成Android构建文件(可选)
如果项目的Android目录缺少必要的构建文件,先执行一次基础的Flutter构建生成文件,再运行Patrol命令:
- name: create debug and test apk script: | flutter build apk --flavor dev --debug --no-shrink chmod +x android/gradlew patrol build android --target integration_test/hlp_test/hlp_test.dart --flavor dev
3. 显式指定项目根目录(可选)
如果Patrol无法自动识别项目根目录,可通过--project-root参数明确指定:
- name: create debug and test apk script: | chmod +x android/gradlew patrol build android --project-root . --target integration_test/hlp_test/hlp_test.dart --flavor dev
额外检查
- 确认项目仓库已提交
android/gradlew和android/gradlew.bat文件,未被.gitignore规则排除 - Codemagic默认工作目录为项目根目录(
/Users/builder/clone/),与日志路径一致,无需额外切换目录
内容的提问来源于stack exchange,提问作者yash oza
相关产品推荐
相关产品推荐

