运行React Native Android项目时Gradle编译失败求助(版本63不兼容)
解决React Native项目编译报错“Unsupported class file major version 63”及Gradle Daemon问题
核心原因
Unsupported class file major version 63 是因为当前Gradle版本不兼容Java 19(class文件版本63对应Java 19);而Gradle Daemon无法复用,是因为之前启动的Daemon使用了不匹配的Java版本,和当前环境冲突。
具体修复步骤
1. 确认当前Java版本
打开命令提示符,执行:java -version
如果输出显示为Java 19或更高版本,需要调整Java版本或升级Gradle来适配。
2. 匹配Gradle与Java版本
方案一:降级Java版本(推荐,适配多数旧RN项目)
- 安装Java 17或更低版本(RN项目常用Java 11/17)
- 修改系统环境变量
JAVA_HOME,指向Java 17的安装路径 - 重启命令提示符,再次执行
java -version确认版本生效
方案二:升级Gradle版本以支持Java 19
- 打开项目
android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl为Gradle 7.6及以上版本,比如:distributionUrl=https\://services.gradle.org/distributions/gradle-7.6-all.zip - 同步修改
android/build.gradle中Gradle插件版本,确保插件与Gradle版本兼容(例如Gradle 7.6对应插件版本classpath 'com.android.tools.build:gradle:7.4.2')
3. 清理旧Gradle Daemon
在命令提示符执行:gradlew --stop
该命令会终止所有运行的不兼容Daemon,下次启动项目时会生成适配当前环境的新Daemon。
4. 清理缓存并重新编译
进入项目根目录的android文件夹,执行:gradlew clean
回到项目根目录后重新运行项目:npx react-native run-android
内容的提问来源于stack exchange,提问作者Sárdi Hespi
相关产品推荐
相关产品推荐

