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

M1 Mac Monterey Xcode13.1下React Native构建安卓报JVM参数错误

问题原因
  • MaxPermSize是JDK 8及更早版本中用于设置永久代最大内存的JVM参数,JDK 9及之后版本废弃了永久代机制、替换为元空间(Metaspace),该参数也被完全移除,你使用的JDK 17无法识别该参数,因此无法启动Java虚拟机。
解决方案

方案1:修改项目Gradle配置(优先推荐,不需要改动系统环境)

找到项目目录下的android/gradle.properties文件,找到包含MaxPermSize的配置行,默认配置一般如下:

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

将-XX:MaxPermSize=4096m参数直接删除,或者替换为适配高版本JDK的元空间参数-XX:MaxMetaspaceSize=4096m即可,修改后的示例配置:
org.gradle.jvmargs=-Xmx4g -XX:MaxMetaspaceSize=4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8

修改完成后重新执行npm run android即可正常构建。
小提示:修改后如果仍报错,可执行cd android && ./gradlew clean清空项目Gradle缓存后再重新构建

方案2:降级JDK版本(适配低版本React Native项目)

如果项目使用的React Native版本低于0.67,对高版本JDK兼容性较差,可以降级安装JDK 8,安装完成后配置好JAVA_HOME环境变量指向JDK 8的安装路径,即可兼容MaxPermSize参数。

方案3:全局配置Gradle JVM参数(多项目共用场景)

如果你本地有多个React Native项目都遇到相同问题,不想逐个修改项目配置,可以在用户根目录下的.gradle/gradle.properties文件中添加/修改jvmargs配置,移除MaxPermSize参数即可全局生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 05:54:03