前言
近期需要使用React Native进行开发,所以需要安装环境。但是因为显卡是AMD的,并且硬件原因,导致出现很多问题。直接导致的最大问题就是不能运行模拟器。所以,最后使用夜神模拟器来代替。接下来为大家详细描述博主在环境安装过程中趟过的坑。
问题描述和解决办法
博主是使用IDEA直接进行开发,AS的安装大家可以看我的另外一篇博文。夜神模拟器下载好之后,启动模拟器,cmd进入自己的React Native工程目录下执行下面代码:
代码语言:javascript复制react-native run-android
却发现连接不上夜神模拟器,原因其实是sdk在使用abd连接模拟器的时候会kill掉之前连接夜神模拟器的abd,导致模拟器连接中断。
解决办法:cmd进入sdk的platform-tools目录下,运行
代码语言:javascript复制adb.exe connect 127.0.0.1:62001
原因:执行上面代码之后,连接时sdk会发现abd是一致的,都是从sdk直接连接模拟器的abd,所以不会被kill掉
重新运行代码,如果模拟器上程序出现红色背景报错说明没有连接到node服务器
解决办法:在SDK的platform-tools目录下运行:
代码语言:javascript复制adb shell input keyevent 82
PS:或者可以在模拟器中程序的打开界面使用手机摇一摇功能(夜神模拟器右上角有),一般3次左右会触发同样的效果。如果不行的话,可以直接运行上述代码代替。
出现下图事件,点击Dev settings
然后点击下图的按钮
将Debug server host配置成IP:8081
注:这个IP实际上是NodeJs服务器的IP,本地的IP可以从ipconfig中找到,如果需要测试寻找本地ip或Node服务器IP,直接在浏览器中访问ip:8081,然后会看到node服务器返回的信息,说明IP正确。
然后cmd再进入sdk的platform-tools目录下继续执行:(或使用手机摇一摇功能触发事件)
代码语言:javascript复制adb shell input keyevent 82
出现下面界面后,点击reload,会重新加载一次app,正常情况会执行成功。如果还是没有成功的话,查看一下模拟器wifi配置是否启用了代理,要是启用了,直接关掉代理就好。
原因:SDK会在模拟器中触发一个事件,然后需要去手动配置Debug server host,程序会根据server host调用node服务。