Expo SDK 53/React Native 0.79.5搭配Gradle 8.13时JDK版本适配及'Unsupported class file major version 68'报错解决问询
Expo SDK 53/React Native 0.79.5搭配Gradle 8.13时JDK版本适配及'Unsupported class file major version 68'报错解决问询
先给你明确核心结论
你的判断完全正确:Unsupported class file major version 68确实是因为JDK24(对应版本号68)太新,和当前技术栈不兼容。针对你的组合(Expo SDK53 + RN0.79.5 + Gradle8.13),官方推荐且完全兼容的JDK版本是JDK17。
为什么是JDK17?
- React Native 0.79.x依赖的Android Gradle Plugin (AGP) 版本为8.2.2,AGP8.x系列要求JDK17作为最低兼容版本;同时Gradle8.13对JDK17的支持最稳定(Gradle8.x最高仅支持到JDK21,JDK22+要等Gradle9.x才适配)。
Windows下的具体解决步骤(亲测有效)
1. 安装JDK17(选靠谱的发行版)
推荐用Eclipse Temurin JDK17(Expo/RN官方默认推荐):
- 下载对应Windows x64的安装包,安装时可以不勾选「Add to PATH」(避免污染全局环境),记好安装路径(比如
C:\Program Files\Eclipse Adoptium\jdk-17.0.11.9-hotspot)。
2. 给项目绑定JDK17(两种方法,推荐第二种永久生效)
方法一:临时指定(适合快速测试)
如果用CMD:
set JAVA_HOME=C:\Program Files\Eclipse Adoptium\jdk-17.0.11.9-hotspot npx expo run:android
如果用PowerShell:
$env:JAVA_HOME = "C:\Program Files\Eclipse Adoptium\jdk-17.0.11.9-hotspot" npx expo run:android
方法二:永久绑定项目JDK(推荐,不影响其他项目)
打开项目根目录下的android/gradle.properties文件,添加一行(注意Windows路径用双反斜杠或正斜杠):
org.gradle.java.home=C:\\Program Files\\Eclipse Adoptium\\jdk-17.0.11.9-hotspot # 或者用正斜杠写法: # org.gradle.java.home=C:/Program Files/Eclipse Adoptium/jdk-17.0.11.9-hotspot
保存后再运行npx expo run:android即可。
3. 验证配置是否生效
进入项目的android目录,运行:
.\gradlew.bat --version
查看输出里的Java home和Java version是否显示为JDK17,确认后再跑构建就没问题了。
顺带解决Restricted Method警告
这个警告是JDK24的新特性限制导致的,换成JDK17后会自动消失,无需额外配置。
最后提个小建议
不要把JDK17加到系统全局PATH的最前面,用gradle.properties的局部配置是最安全的——每个项目可以独立指定JDK版本,不会和其他项目的JDK需求冲突。
如果还有问题,随时说,我再帮你排查!




