无法通过Expo在Genymotion上启动React Native应用求助
我之前也碰到过一模一样的问题——Genymotion跑Java应用完全正常,但启动Expo React Native应用就会报这个Intent解析错误。既然adb连接本身没问题,咱们从Expo和Genymotion的适配细节来排查:
先确认Genymotion的网络适配
你用的192.168.56.1是Host-only网段的地址,先检查虚拟机的网络模式:打开Genymotion虚拟机的「Settings」→「Network」,确认是Host-only模式。接着在虚拟机的终端里执行ping 192.168.56.1,如果ping不通,重启虚拟机网络或者先切换到NAT模式再切回Host-only试试。重置adb连接链路
先关掉Expo CLI和Genymotion,然后在电脑终端执行:adb kill-server adb start-server重新打开Genymotion后再启动
expo start,尝试重新连接应用。手动安装匹配版本的Expo Go
Genymotion自带的Expo Go版本可能和你的项目SDK不兼容(你用的jest-expo:25.0.0对应Expo SDK 25),找对应SDK版本的Expo Go APK,直接拖进Genymotion虚拟机安装。安装完成后打开Expo Go,手动输入exp://192.168.56.1:19000,看能不能正常打开应用。检查项目的Expo配置
打开项目根目录的app.json,确认scheme字段配置正确:{ "expo": { "scheme": "snapvendy", // 其他配置项... } }同时核对
package.json里的react-native和expo版本,SDK 25对应的react-native版本是0.52.x,确保依赖版本完全兼容。换个IP地址试试
有时候Host-only地址的解析会出问题,你可以用电脑的局域网IP启动Expo:expo start --host 192.168.1.xxx把
192.168.1.xxx换成你电脑实际的局域网IP,然后在Genymotion的Expo Go里输入新的地址尝试连接。
内容的提问来源于stack exchange,提问作者user9612167

