React Native执行yarn android时出现Gradle exec()方法找不到错误
React Native yarn android 随机启动失败:找不到exec()方法问题解决
问题根源
这个随机报错是因为@react-native-community/cli-platform-android的gradle脚本中,调用exec()方法时和Gradle 7.x+版本的DefaultProviderFactory对象产生了动态代理冲突——由于Gradle的动态对象机制特性,冲突会随机触发,即便你没修改过Gradle配置或版本。
解决方案
1. 临时快速修复(清理缓存)
- 执行Gradle清理:
./gradlew clean - 删除本地依赖缓存和锁文件:
rm -rf node_modules yarn.lock - 重新安装依赖:
yarn install - 重置Metro缓存并重启:
yarn start --reset-cache
2. 永久修复(锁定兼容版本)
在package.json中添加resolutions字段(仅适用于Yarn),强制指定兼容的cli-platform-android版本:
"resolutions": { "@react-native-community/cli-platform-android": "6.0.0" }
添加后重新执行yarn install,该版本的gradle脚本已修复了exec()方法的兼容性问题,避免和高版本Gradle API冲突。
3. 规避式修复(拆分命令执行)
如果上述方法暂时无效,可以拆分启动步骤绕开冲突:
- 单独启动Metro服务器:
yarn start - 新开终端进入android目录,手动构建并安装:
cd android ./gradlew assembleDebug installDebug
内容的提问来源于stack exchange,提问作者Christopher V. Young
相关产品推荐
相关产品推荐

