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

Gradle构建报错:指定初始化脚本不存在问题求助

解决Gradle初始化脚本不存在的问题

1. 排查构建命令的初始化脚本参数

这个报错大概率是构建命令里指定了-I或--init-script参数指向/tmp下的临时脚本,但该脚本已经被系统清理了。先检查你执行构建时的完整命令,比如有没有类似:

./gradlew build -I /tmp/xxx.gradle

如果是CI环境,确认CI工具是不是自动加了这个参数——可能是缓存或临时脚本生成逻辑出问题了,要么禁用这个自动配置,要么重新生成对应的脚本。

2. 改用项目内的固定初始化脚本(如果需要)

如果你的构建确实依赖自定义初始化脚本,别用/tmp里的临时文件,把脚本放到项目目录下(比如项目根目录/init.gradle),然后修改构建命令:

./gradlew build -I ./init.gradle

或者在gradle.properties里配置默认的初始化脚本路径,省得每次命令里加参数:

org.gradle.init.script=./init.gradle

3. 杀掉残留的Gradle守护进程

有时候临时脚本被删了,但Gradle daemon进程还在引用它,直接杀掉所有daemon进程再重新构建:

./gradlew --stop

4. 修复系统临时目录权限

Linux下/tmp目录的权限可能导致Gradle没法创建或读取临时脚本,执行下面的命令修复权限:

sudo chmod 1777 /tmp

1777权限能保证所有用户都能读写临时文件,同时防止误删他人的文件。

5. 绕开Flutter的中间处理(针对Flutter项目)

如果是用flutter build触发的报错,直接进入Android模块目录执行Gradle命令,绕开Flutter的中间脚本生成逻辑试试:

cd android
./gradlew clean app:assembleRelease

或者用Flutter命令时强制禁用构建缓存:

flutter build appbundle --no-build-cache

6. 检查项目内的动态脚本生成逻辑

看看项目根目录、gradle文件夹下的脚本(比如settings.gradle),有没有代码在动态生成并引用/tmp下的初始化脚本,如果有的话,改成用项目内的固定路径。

内容的提问来源于stack exchange,提问作者Magnus Just Carlsen

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 03:07:45