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

运行yarn android编译React Native报Unrecognized VM option 'MaxPermSize=2048m'错如何解决

错误原因

这个报错是因为MaxPermSize是JDK 8及更早版本专属的永久代内存配置参数,JDK 9及更高版本移除了永久代,改用元空间(Metaspace)实现,无法识别该参数,因此JVM启动失败。

解决方案

方案一:修改项目Gradle配置(推荐,适配高版本JDK)

  • 打开项目下的android/gradle.properties文件
  • 找到org.gradle.jvmargs配置行,删除其中的-XX:MaxPermSize=2048m参数
  • 若需要限制元空间大小,可添加-XX:MaxMetaspaceSize=2048m作为替代,修改后配置示例如下:
org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=2048m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8
  • 保存配置后,依次执行以下命令重新编译:
cd android
./gradlew clean
cd ..
yarn android

方案二:切换JDK版本到JDK 8

如果项目依赖旧版Gradle,和高版本JDK存在其他兼容问题,可直接切换到JDK 8运行:

  • 执行命令安装OpenJDK 8:
sudo apt install openjdk-8-jdk
  • 切换系统默认JDK版本:
sudo update-alternatives --config java

在弹出的选项列表中,输入OpenJDK 8对应的序号,回车确认。

  • 执行java -version验证版本,确认输出为1.8.x系列版本后,重新执行yarn android编译即可。

注意事项

如果修改后仍报错,检查当前用户的Shell配置文件(~/.bashrc/~/.zshrc等),是否存在包含MaxPermSize的GRADLE_OPTS全局环境变量配置,如有则删除或替换为元空间参数,修改后执行source 对应配置文件路径生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 21:15:02