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

M1 Mac运行React Native Android报错:Unsupported class file major version 64及Kotlin版本问题

解决React Native Android项目运行报错的步骤

一、解决「Unsupported class file major version 64」报错

这个错误是因为JDK版本与Gradle版本不兼容:JDK20的class文件版本为64,而Gradle7.5.1最高仅支持到JDK17(class版本61)。可选择以下两种方式解决:

方式1:降级JDK到17

  • 用brew安装JDK17:
    brew install openjdk@17
    
  • 临时配置终端使用JDK17:
    export PATH="/usr/local/opt/openjdk@17/bin:$PATH"
    
  • 如需全局生效,将上述命令添加到~/.zshrc或~/.bash_profile,再执行source ~/.zshrc(对应自己的配置文件)。

方式2:升级Gradle到兼容JDK20的版本

Gradle7.6及以上版本支持JDK20,修改gradle-wrapper.properties里的distributionUrl:

distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-all.zip

二、解决「Kotlin metadata版本不匹配」报错

升级Gradle后出现的该问题,是因为项目依赖的Kotlin库版本(1.8.0)与Gradle插件期望的版本(1.6.0)不一致,需统一Kotlin版本:

  1. 修改项目根目录的build.gradle文件:
    在buildscript块中指定统一的Kotlin版本,确保所有模块使用同一版本:

    buildscript {
        ext {
            kotlinVersion = "1.8.0" // 与报错中的元数据版本保持一致
            // 保留其他RN默认配置
        }
        dependencies {
            classpath "com.android.tools.build:gradle:7.4.2" // Gradle7.6对应AGP7.4.x版本
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"
            // 保留其他依赖
        }
    }
    
  2. 检查模块级build.gradle:
    确保app模块的build.gradle中没有硬编码低版本Kotlin依赖,替换为根目录定义的变量:

    dependencies {
        // 替换硬编码版本的依赖,比如把 implementation "org.jetbrains.kotlin:kotlin-stdlib:1.6.0" 改成下面的写法
        implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlinVersion"
        // 保留其他依赖
    }
    
  3. 清理缓存并重新构建:

    ./gradlew clean
    yarn android
    

三、版本兼容性参考(关键)

React Native 71.8的稳定版本组合推荐:

  • Gradle:7.5 ~ 7.6.x
  • Android Gradle Plugin(AGP):7.4.x
  • Kotlin:1.7.20 ~ 1.8.x
  • JDK:11 ~ 17(稳定性最优,建议优先选择该区间版本,避免使用JDK20这类较新的版本)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 15:22:18