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

M1 Mac上React Native项目Android模拟器无法运行求助

解决方案:M1 Mac下React Native无法连接Android模拟器问题

一、核心问题定位:环境变量配置错误

你的.bash_profile存在多处语法和路径引用错误,这是导致adb、emulator无法被系统识别的根本原因:

  1. ANDROID_HOME定义错误:不应包含$PATH,且缺少闭合引号
  2. 引用ANDROID_HOME时未加$符号,导致路径解析为无效的/ANDROID_HOME/xxx
  3. 存在重复的platform-tools路径配置

二、修复环境变量

将你的.bash_profile替换为以下正确配置(替换**********为你的用户名):

export ANDROID_HOME="/Users/**********/Library/Android/sdk"
export PATH="$PATH:$ANDROID_HOME/platform-tools"
export PATH="$PATH:$ANDROID_HOME/emulator"
export PATH="$PATH:$ANDROID_HOME/tools"
export PATH="$PATH:$ANDROID_HOME/tools/bin"

三、生效环境变量并验证

  1. 执行命令刷新环境变量:
    source ~/.bash_profile
    
  2. 验证adb是否可用:
    adb --version
    
    正常应输出adb版本信息
  3. 验证模拟器列表是否能被识别:
    emulator -list-avds
    
    正常应输出你创建的模拟器名称

四、M1 Mac专属兼容性处理

  1. 确保Android模拟器使用arm64-v8a架构镜像:
    • 打开Android Studio的AVD Manager
    • 编辑现有模拟器,在「System Image」中选择带有「arm64-v8a」标识的镜像(M1原生支持arm架构,避免使用x86/x86_64镜像)
  2. 若仍有问题,尝试以Rosetta模式运行Android Studio:
    • 找到Applications目录下的Android Studio.app
    • 右键「显示简介」,勾选「使用Rosetta打开」,重启Android Studio

五、修复Metro连接与脚本加载问题

  1. 先手动启动Metro服务:
    npx react-native start
    
  2. 保持Metro运行,新开终端执行:
    npx react-native run-android
    
  3. 若模拟器提示「Unable to load script」,在模拟器中按快捷键(Cmd+M)打开调试菜单,选择「Dev Settings」→「Debug server host & port for device」,输入localhost:8081,返回后重新加载JS

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 09:01:08