使用夜神模拟器运行React Native躺坑详解

2018-05-17 14:54:38 浏览数 (1)

前言

近期需要使用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服务。

0 人点赞