React Native从0.66.5升级到0.71.0时Gradle任务执行失败求助
解决React Native 0.66.5升级到0.71.0时
:app:createBundleReleaseJsAndAssets执行失败问题 问题根源
Gradle检测到lintVitalAnalyzeRelease任务未声明依赖就直接使用了createBundleReleaseJsAndAssets的输出,导致构建优化被禁用;同时RN 0.71对Hermes的集成逻辑做了调整,BundleHermesCTask的依赖关系出现错乱,最终触发node进程非零退出。
解决方案
1. 手动修复任务依赖关系
在android/app/build.gradle中添加以下配置,强制让lintVitalAnalyzeRelease依赖createBundleReleaseJsAndAssets:
tasks.named('lintVitalAnalyzeRelease') { dependsOn 'createBundleReleaseJsAndAssets' }
这样Gradle就能正确识别任务执行顺序,避免非法访问输出的问题。
2. 清理Hermes缓存并验证配置
- 首先确认
android/app/build.gradle中Hermes启用配置正确:project.ext.react = [ enableHermes: true, ] - 执行清理命令,清除旧缓存和冲突文件:
./gradlew clean rm -rf android/app/build/generated/assets/react/release rm -rf node_modules/hermes-engine npm install
3. 临时绕过Gradle依赖检测(优先用前两个方案)
如果上述方法暂时无效,可以在gradle.properties中添加以下配置禁用严格的警告检测:
org.gradle.warning.mode=none
注意:这只是临时解决手段,建议修复依赖关系后恢复默认设置,避免隐藏其他潜在问题。
4. 同步RN 0.71官方模板配置
对比RN 0.71官方初始化项目的android/app/build.gradle、settings.gradle、gradle-wrapper.properties等核心配置文件,检查是否有遗漏的升级配置(比如bundle任务的产物声明、Hermes的任务集成代码),确保本地配置与官方模板一致。
内容的提问来源于stack exchange,提问作者Juan Antonio
相关产品推荐
相关产品推荐

