M1 Mac上React Native项目Android模拟器无法运行求助
解决方案:M1 Mac下React Native无法连接Android模拟器问题
一、核心问题定位:环境变量配置错误
你的.bash_profile存在多处语法和路径引用错误,这是导致adb、emulator无法被系统识别的根本原因:
ANDROID_HOME定义错误:不应包含$PATH,且缺少闭合引号- 引用
ANDROID_HOME时未加$符号,导致路径解析为无效的/ANDROID_HOME/xxx - 存在重复的
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"
三、生效环境变量并验证
- 执行命令刷新环境变量:
source ~/.bash_profile - 验证
adb是否可用:
正常应输出adb版本信息adb --version - 验证模拟器列表是否能被识别:
正常应输出你创建的模拟器名称emulator -list-avds
四、M1 Mac专属兼容性处理
- 确保Android模拟器使用arm64-v8a架构镜像:
- 打开Android Studio的AVD Manager
- 编辑现有模拟器,在「System Image」中选择带有「arm64-v8a」标识的镜像(M1原生支持arm架构,避免使用x86/x86_64镜像)
- 若仍有问题,尝试以Rosetta模式运行Android Studio:
- 找到Applications目录下的Android Studio.app
- 右键「显示简介」,勾选「使用Rosetta打开」,重启Android Studio
五、修复Metro连接与脚本加载问题
- 先手动启动Metro服务:
npx react-native start - 保持Metro运行,新开终端执行:
npx react-native run-android - 若模拟器提示「Unable to load script」,在模拟器中按快捷键(Cmd+M)打开调试菜单,选择「Dev Settings」→「Debug server host & port for device」,输入
localhost:8081,返回后重新加载JS
内容的提问来源于stack exchange,提问作者TheMilkMan
相关产品推荐
相关产品推荐

