React Native Android执行./gradlew clean命令失败求助
React Native Android
./gradlew clean 报错解决办法 报错详情
执行 ./gradlew clean 时出现如下错误:
> Task :app:clean FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:clean'. > java.io.IOException: Unable to delete directory '/Users/XXXXXX/APPNAME/android/app/build' Failed to delete some children. This might happen because a process has files open or has its working directory set in the target directory.
报错指向路径多为 android/app/build/intermediates/merged_res_blame_folder/debug/out/* 这类资源合并相关目录。
已尝试无效操作
- 修改文件/文件夹所有权
- 活动监视器结束所有Java进程
- 执行
./gradlew --stop终止守护进程
可行解决步骤
手动删除build目录
直接前往/Users/XXXXXX/APPNAME/android/app/build路径,手动删除整个build文件夹。如果提示文件被占用:- 关闭当前打开项目的IDE(Android Studio、VS Code等)后重试删除
- 用终端强制删除:
rm -rf /Users/XXXXXX/APPNAME/android/app/build,权限不足时加sudo:sudo rm -rf /Users/XXXXXX/APPNAME/android/app/build
定位并终止占用文件的进程
用lsof命令查找占用目标文件的进程:lsof | grep "/Users/XXXXXX/APPNAME/android/app/build/intermediates/merged_res_blame_folder/debug/out"找到对应PID后,执行
kill -9 [PID]强制终止进程,再重新运行./gradlew clean清理Gradle全局缓存
Gradle缓存损坏可能引发这类问题,执行命令清理缓存:rm -rf ~/.gradle/caches清理完成后再尝试
./gradlew clean排查资源文件问题
报错涉及资源合并目录,大概率和项目资源文件有关:- 检查
android/app/src/main/res下的XML、图片等资源,排查是否有文件名含特殊字符、文件损坏的情况 - 临时移除最近新增的资源文件,重试清理命令,确认是否是新资源导致的锁定
- 检查
重启电脑
若以上方法均无效,重启电脑彻底释放所有被占用的系统资源,之后再执行./gradlew clean
内容的提问来源于stack exchange,提问作者fordat
相关产品推荐
相关产品推荐

