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

React Native项目Gradle启动报错:MaxPermSize不识别及类版本不兼容

React Native(Apple Silicon)Gradle报错解决方案

错误原因解析

  1. Unrecognized VM option 'MaxPermSize=512m':该参数是JDK 8及更早版本的永久代配置,JDK 9+已移除永久代,改用元空间(Metaspace),高版本JDK无法识别该参数。
  2. Unsupported class file major version 64:版本64对应JDK 20,说明你当前使用的JDK版本过高,项目依赖的Gradle版本不支持该JDK版本。

具体修复步骤

1. 修正gradle.properties的JVM参数

打开项目根目录下的gradle.properties文件,将原配置:

org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

修改为:

org.gradle.jvmargs=-Xmx2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

若需调整元空间大小,可添加-XX:MaxMetaspaceSize=512m,多数场景下默认配置足够,无需额外添加

2. 适配JDK与Gradle版本

Apple Silicon Mac默认可能安装高版本JDK(如JDK 20),需确保Gradle版本与JDK版本兼容:

  • JDK 11 → Gradle 5.4.1+
  • JDK 17 → Gradle 7.3+
  • JDK 20 → Gradle 7.6+

方案A:升级Gradle版本

打开gradle/wrapper/gradle-wrapper.properties,修改distributionUrl至兼容版本,例如支持JDK 20的Gradle 7.6:

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

方案B:指定项目使用兼容JDK(如JDK 17)

  1. 安装JDK 17(通过Homebrew):
brew install openjdk@17
  1. 设置临时环境变量(终端中执行):
export JAVA_HOME=/opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk/Contents/Home
  1. 在项目android/build.gradle中配置编译版本:
android {
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = '17'
    }
}

3. 清理缓存并重新构建

执行以下命令清理旧缓存,避免残留影响:

cd android
./gradlew clean
cd ..
npx react-native run-android

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.23 11:42:53