在AppCenter构建Flutter安卓发布版时遇Gradle无执行权限错误
解决AppCenter构建Flutter安卓Release版本时Gradle无执行权限的问题
问题原因
咱们先拆解下这个报错:Gradle does not have execution permission,这个问题只出现在AppCenter环境而本地正常,核心原因是Git默认不会追踪文件的执行权限位,或者AppCenter的克隆流程重置了文件权限。你本地的gradlew脚本是有执行权限的,但推送到远程仓库时,这个权限信息没被同步过去;等AppCenter拉取代码后,gradlew就失去了执行权限,导致Gradle任务无法启动。
解决办法
给你两个针对性的方案,任选其一都能解决问题:
方案1:在AppCenter的Post Clone阶段添加权限修复命令
因为报错里提到了Post Clone Script,咱们直接在这个阶段补全权限:
- 打开你的AppCenter项目构建配置页面
- 找到Post Clone步骤(如果没有就添加一个)
- 输入以下命令并保存:
chmod +x ./android/gradlew
这样每次AppCenter克隆代码后,都会自动给gradlew加上执行权限,完美适配CI环境。
方案2:让Git追踪gradlew的执行权限
如果不想依赖AppCenter的脚本,也可以在本地修复权限后提交到Git仓库:
- 在本地项目根目录打开终端,先确保Git会追踪文件权限:
git config core.filemode true - 给
gradlew添加执行权限:chmod +x android/gradlew - 将权限变更提交并推送到远程仓库:
git add android/gradlew git commit -m "Fix gradlew execution permission for CI builds" git push
之后AppCenter拉取代码时,gradlew的执行权限就会被正确保留,不用再额外配置脚本。
内容的提问来源于stack exchange,提问作者AVEbrahimi
相关产品推荐
相关产品推荐

