React Native 0.63.4编译报错:compileDebugJavaWithJavac任务执行失败
解决React Native 0.63.4编译
react-native-android-location-enabler模块的JDK访问错误 方法一:降级JDK版本到11或8
RN 0.63.x系列对JDK11及以下版本兼容性更好,高版本JDK的模块封装机制会触发这个访问错误:
- 卸载当前高版本JDK(如16、17+),安装OpenJDK 11或Oracle JDK 11
- 配置环境变量
JAVA_HOME指向新安装的JDK路径 - 清理项目缓存:
./gradlew clean rm -rf node_modules && npm install - 重新执行编译命令
方法二:修改Gradle配置,添加JVM参数(临时兼容高JDK)
如果不想降级JDK,可以在项目的android/gradle.properties文件中添加以下JVM参数,允许旧版Gradle访问JDK内部模块:
org.gradle.jvmargs=--add-exports=jdk.compiler/com.sun.tools.javac.code=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.tree=ALL-UNNAMED --add-exports=jdk.compiler/com.sun.tools.javac.util=ALL-UNNAMED
添加后执行:
./gradlew clean npx react-native run-android
方法三:升级react-native-android-location-enabler依赖版本
检查项目中该依赖的版本,尝试升级到适配高JDK的版本:
- 在
package.json中更新依赖版本,比如:"react-native-android-location-enabler": "^2.1.0" - 执行
npm install更新依赖 - 清理缓存后重新编译
内容的提问来源于stack exchange,提问作者Nagaraj sk
相关产品推荐
相关产品推荐

