React Native Android构建失败:react-native-firebase_app编译错误求助
React Native Android构建失败解决办法
问题详情
用JDK 11、Gradle 8.0.1运行React Native Android项目时,先出现Gradle弃用警告,随后构建失败,具体错误为::react-native-firebase_app:compileDebugJavaWithJavac任务执行失败,无法解析:react-native-firebase_app:androidJdkImage配置文件,JdkImageTransform处理core-for-system-modules.jar时调用了JDK 21的jlink工具导致出错。
解决步骤
降级Gradle版本
Gradle 8.x对JDK版本兼容性要求严格,和旧版react-native-firebase库搭配容易触发这个问题。修改两处配置:- 打开
gradle/wrapper/gradle-wrapper.properties,把distributionUrl替换为Gradle 7.6.x版本的地址:distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.4-all.zip - 打开项目根目录的
build.gradle,修改gradle插件版本为7.4.2(和Gradle 7.6.x匹配):dependencies { classpath 'com.android.tools.build:gradle:7.4.2' // 保留其他原有依赖 }
- 打开
强制react-native-firebase模块使用JDK 11
在android/build.gradle文件中添加子项目配置,指定:react-native-firebase_app模块使用本地JDK 11:subprojects { if (name.contains('react-native-firebase_app')) { tasks.withType(JavaCompile) { options.fork = true options.forkOptions.javaHome = file(System.getenv('JAVA_HOME')) } java { toolchain { languageVersion = JavaLanguageVersion.of(11) } } } }清理构建缓存
执行以下命令清除所有构建缓存,避免旧残留干扰:./gradlew clean rm -rf ~/.gradle/caches cd android && ./gradlew cleanBuildCache
内容的提问来源于stack exchange,提问作者Nikhil Sharma
相关产品推荐
相关产品推荐

