You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native编译报错:Unsupported class file major version 66解决方法

React Native Android编译错误(Unsupported class file major version 66)解决方法

错误核心原因

Unsupported class file major version 66 说明当前使用的Gradle 8.6版本不兼容你系统中的Java 22(major version 66对应Java 22),Gradle与Java版本存在兼容性不匹配问题。

解决方法

  • 方法一:降级Java版本至Gradle 8.6支持范围
    Gradle 8.6支持Java 11到Java 21,推荐使用Java 17(LTS稳定版):

    1. 卸载系统中已安装的Java 22
    2. 下载并安装Java 17(OpenJDK或Oracle JDK均可)
    3. 配置系统环境变量:将JAVA_HOME指向Java 17安装目录,确保PATH中优先包含Java 17的bin目录
    4. 验证版本:打开命令行执行java -version,确认输出为Java 17
    5. 清理Gradle缓存:删除路径C:\Users\subug\.gradle\caches\8.6,重新运行项目
  • 方法二:升级Gradle版本以支持Java 22
    若需保留Java 22,需升级Gradle至8.7及以上版本(该版本开始支持Java 22):

    1. 打开项目的android/gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl:
      distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-all.zip
      
    2. 打开android/build.gradle文件,更新Gradle插件版本(Gradle 8.7对应AGP 8.3.0及以上):
      dependencies {
          classpath 'com.android.tools.build:gradle:8.3.0'
          // 其他依赖项
      }
      
    3. 删除C:\Users\subug\.gradle\caches下旧版本缓存目录,重新运行项目
  • 方法三:项目内指定兼容Java版本(临时方案)
    无需修改全局Java版本,仅为当前项目指定兼容版本:

    1. 打开android/build.gradle文件,在android代码块中添加:
      compileOptions {
          sourceCompatibility JavaVersion.VERSION_17
          targetCompatibility JavaVersion.VERSION_17
      }
      kotlinOptions {
          jvmTarget = '17'
      }
      
    2. 确保系统已安装Java 17,在VS Code终端临时设置环境变量:
      set JAVA_HOME=C:\你的Java17安装路径
      set PATH=%JAVA_HOME%\bin;%PATH%
      
    3. 重新启动React Native项目

内容的提问来源于stack exchange,提问作者Subramaniyan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 13:17:37