React Native运行安卓模拟器报错:无法启动指定模拟器程序
解决React Native
react-native-run-android 无法启动模拟器的问题 我之前也碰到过一模一样的情况——明明Android Studio的AVD Manager能正常拉起模拟器,但用react-native-run-android就会报找不到qemu执行文件的错误。下面是几个亲测有效的解决办法,你可以逐个试试:
办法1:确保ANDROID_SDK_ROOT环境变量配置正确
React Native有时候会因为找不到SDK的正确路径,去错误的位置查找qemu执行文件。你需要把ANDROID_SDK_ROOT指向你的Android SDK实际安装目录(一般是~/Library/Android/sdk):
- 打开终端,编辑你的shell配置文件(比如
~/.zshrc或~/.bash_profile),添加一行:export ANDROID_SDK_ROOT=/Users/你的用户名/Library/Android/sdk - 执行
source ~/.zshrc(对应你的配置文件)让改动生效,然后重新运行react-native-run-android。
办法2:手动启动模拟器后指定设备运行
既然你已经能通过AVD Manager启动模拟器,那可以跳过React Native自动启动模拟器的步骤:
- 先在AVD Manager里打开你的模拟器;
- 终端运行
adb devices,找到当前运行的模拟器设备ID(比如emulator-5554); - 执行命令:
react-native run-android --deviceId emulator-5554
这样React Native会直接连接到已运行的模拟器,避开路径查找的问题。
办法3:修复qemu路径的符号链接
错误提示里的qemu-system-i386路径可能是无效的,因为现在大多数模拟器都是64位的,你可以手动创建正确的符号链接:
- 先确认你SDK里qemu的实际路径:
$ANDROID_SDK_ROOT/emulator/qemu/darwin-x86_64/qemu-system-x86_64; - 执行命令创建链接:
sudo ln -s $ANDROID_SDK_ROOT/emulator/qemu/darwin-x86_64/qemu-system-x86_64 /usr/local/bin/qemu-system-i386
这个操作让系统在React Native查找qemu-system-i386时,实际指向正确的64位执行文件。
办法4:更新React Native CLI版本
旧版本的React Native CLI可能存在路径查找的bug,你可以尝试更新到最新版本:
npm install -g react-native-cli
如果用npx的话,直接运行npx react-native run-android即可,它会自动使用最新的临时版本。
内容的提问来源于stack exchange,提问作者Nick Grealy
相关产品推荐
相关产品推荐

