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

React Native安卓运行报错:无法创建Java虚拟机及模拟器识别异常

Hey,我之前踩过几乎一模一样的坑,分两个问题给你逐个解决:

问题1:React Native找不到已安装的模拟器

报错提示 Error Failed to launch emulator. Reason: No emulators found as an output of emulator -list-avds,可以按以下步骤排查:

  • 先手动在终端运行 emulator -list-avds,看看能不能列出你的模拟器:
    • 如果没输出,说明系统找不到emulator命令,检查你的环境变量配置:确保ANDROID_SDK_ROOT指向正确的Android SDK目录,并且$ANDROID_SDK_ROOT/emulator和$ANDROID_SDK_ROOT/platform-tools已经添加到系统的PATH里
    • 如果能列出模拟器,但react-native还是识别不到,试试先手动启动模拟器(打开AVD Manager点击启动),再重新运行react-native run-android
    • 还可以试试重启adb服务:终端运行adb kill-server,然后adb start-server,再重新执行打包命令
问题2:Gradle守护进程启动失败(JDK15兼容性问题)

报错Unrecognized VM option 'CMSClassUnloadingEnabled'是因为JDK15已经移除了CMS垃圾回收器的相关参数,而旧版Gradle默认配置里还在使用这些参数。有两个解决方向:

  • 方案一:切换到兼容的JDK版本(推荐)
    React Native官方推荐使用JDK 11或者JDK 8,你可以安装对应版本的JDK,然后修改JAVA_HOME环境变量指向这个新版本的JDK,之后重启终端再运行react-native run-android
  • 方案二:修改Gradle配置文件
    如果不想换JDK,就手动移除废弃的参数:
    1. 打开项目根目录下的gradle.properties文件
    2. 找到包含org.gradle.jvmargs的行,删掉里面的-XX:+CMSClassUnloadingEnabled参数
    3. 可以把该行替换为适配JDK15的配置,比如:
      org.gradle.jvmargs=-Xmx2048m --add-exports=java.base/sun.nio.ch=ALL-UNNAMED --add-exports=jdk.unsupported/sun.misc=ALL-UNNAMED
      
    4. 保存文件后,运行./gradlew clean清理缓存,再重新执行打包命令

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 16:07:52