React Native集成FCM推送时构建失败:无法删除指定目录
解决React Native FCM构建时
processDebugGoogleServices删除目录失败的问题 我之前在搭建React Native推送通知项目时也碰到过一模一样的错误,大概率是构建缓存目录被锁定或者版本兼容性问题导致的,给你几个一步步排查的解决办法:
错误重现
你遇到的构建错误详情如下:
:app:processDebugGoogleServices Parsing json file: E:\REACT-NATIVE\fcmreactnative\android\app\google-services.json :app:processDebugGoogleServices FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:processDebugGoogleServices'. > Failed to delete: E:\REACT-NATIVE\fcmreactnative\android\app\build\generated\res\google-services\debug
解决方案
1. 手动删除锁定的目录
这是最直接的解决办法,因为错误提示明确说无法删除指定目录,大概率是该目录下的文件被系统或其他进程占用了:
- 找到路径
E:\REACT-NATIVE\fcmreactnative\android\app\build\generated\res\google-services\debug - 手动删除整个
debug文件夹(如果删不掉,检查是否有Android Studio、文件管理器或者其他进程在占用这个文件夹,关闭后再试) - 删除后重新运行
react-native run-android
2. 清理Gradle构建缓存
有时候Gradle的缓存文件会出现异常,执行clean命令可以彻底清理所有构建生成的文件:
在项目根目录打开终端,执行以下命令:
# 进入android目录 cd android # 执行clean命令(Windows系统直接用gradlew clean) ./gradlew clean # 返回根目录重新构建 cd .. react-native run-android
3. 检查Google Services与Firebase版本兼容性
你的配置里google-services:3.2.1和Firebase10.0.1可能存在版本不匹配的问题,这也会导致构建时生成的文件异常无法删除:
- 修改根目录
build.gradle中的google-services版本,适配Firebase 10.0.1:dependencies { classpath 'com.android.tools.build:gradle:2.2.3' // 改成和Firebase 10.0.1兼容的3.1.2版本 classpath 'com.google.gms:google-services:3.1.2' } - 修改后再次执行clean和构建命令
4. 检查目录权限
确保你的Windows用户对E:\REACT-NATIVE\fcmreactnative\android\app\build目录拥有读写和删除权限,如果权限不足,右键该目录 -> 属性 -> 安全 -> 编辑权限,给当前用户添加完全控制权限。
5. 关闭占用进程
如果上述方法都不行,检查是否有以下进程在占用构建目录:
- Android Studio的后台构建进程(可以重启Android Studio)
- 资源管理器(如果打开了build目录的窗口,关闭后再试)
- 杀毒软件或防火墙(暂时关闭后尝试构建,排除拦截可能)
先从第1、2步开始试,这两个方法解决了我当时的问题,如果不行再尝试版本调整和权限检查。
内容的提问来源于stack exchange,提问作者ritu shree
相关产品推荐
相关产品推荐

