执行react-native run-android出现Failed to Launching Emulator报错如何解决
错误产生原因
- 安卓SDK环境变量配置错误:没有正确配置
ANDROID_HOME、platform-tools、emulator等系统环境变量,命令行无法识别安卓模拟器启动指令 - 模拟器未提前创建或名称不匹配:Android Studio中没有创建可用的AVD模拟器,或者React Native默认识别的模拟器名称和本地已创建的模拟器名称不一致
- 模拟器端口被占用:默认5554等模拟器通信端口被其他程序占用,导致启动时连接失败
- 安卓模拟器权限不足:Mac/Linux环境下当前用户没有安卓SDK目录的执行权限,无法启动模拟器程序
- 已存在运行中的模拟器/真机:如果已经有启动的模拟器或者连接了真机,部分版本的React Native工具可能会重复尝试启动新模拟器导致冲突报错
解决方案
- 优先使用手动启动方案:提前打开Android Studio,进入AVD Manager手动启动目标模拟器,等待模拟器完全加载后再执行
react-native run-android命令,90%以上的同类报错都可以通过该方式解决 - 修复环境变量配置:
Windows系统需要在系统变量中添加ANDROID_HOME为SDK安装路径(默认路径为C:\Users\用户名\AppData\Local\Android\Sdk),然后在Path中添加%ANDROID_HOME%\platform-tools、%ANDROID_HOME%\emulator、%ANDROID_HOME%\tools、%ANDROID_HOME%\tools\bin四个路径
Mac/Linux系统需要在/.bashrc、/.zshrc等对应shell的配置文件中添加:export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools
配置完成后执行source ~/.zshrc(替换为你实际使用的配置文件名)即可生效 - 指定模拟器启动:执行
emulator -list-avds查看本地已创建的模拟器列表,执行emulator -avd 你的模拟器名称手动启动,或者运行React Native命令时指定设备:react-native run-android --deviceId 模拟器设备ID(设备ID可以通过adb devices查询) - 端口占用排查:执行
netstat -ano | findstr 5554(Windows)或lsof -i :5554(Mac/Linux)查询占用端口的进程,结束对应进程后再重试 - 权限修复:Mac/Linux环境下执行
sudo chmod -R 755 $ANDROID_HOME给SDK目录赋予执行权限 - 检查已连接设备:执行
adb devices查看当前已连接的设备,如果有已经在线的设备,直接运行react-native run-android即可,不需要额外启动模拟器
内容的提问来源于stack exchange,提问作者darektoa
相关产品推荐
相关产品推荐

