一、前言
昨天立了flag今天要更新,哪怕再晚也要写,不能自己打脸不是。
言归正传,同学们在看今天这篇之前,请先阅读我昨天的文章:react-native环境配置
确保已经成功地在Android Studio的AVD中看到了我们初始化的rn项目
好,如果no errors, no warnings,那么开始我们今天的内容
二、常见的Android模拟器
比较出名的就是 逍遥 和 夜神 ,我用的是逍遥,同学们如果使用的是夜神也是同一个道理,略微有所差别
附上逍遥安卓的下载地址:https://www.xyaz.cn
请同学们自行下载安装
这里不得不说明一下,昨天已经说了,AVD中大部分最新的机型已经取消了菜单键和晃动键,这就给我们的调试带来了诸多的不便
而第三方模拟器,往往都会集成这些功能(打游戏么,没这两个键怎么行,咳咳)
但是第三方模拟器也有自身的缺点,就是广告多,初始化慢,刨去这两点,都挺好的!
废话不多说,我们开始尝试用它来调试我们的rn项目
三、问题
我们双击打开逍遥模拟器,等待模拟器初始化完成
我们在项目目录里,打开控制台,输入:
react-native run-android
等待运行结束。。。
等待,等待,等待,报错了。。。
这一堆报错信息,例行检查控制台,可能我英文不太好,看这句:
Make sure you have the Android development environment
完了,首先疯狂怀疑自己:安卓环境变量配错了?
冷静下来想想,昨天在AVD上运行成功的,环境变量肯定没问题,可能是说没有一个正在运行的android模拟器
不可能,逍遥模拟器明明运行的好好的!!!
四、ADB
同学们先了解一下这是个什么东西:https://baike.baidu.com/item/ADB/23427792
想想我们昨天配置的环境变量,我们去到这个文件夹下:
C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools
可能有所不同,具体参照自己的环境变量路径
我们会发现有个文件叫 adb.exe,就是因为配置了环境变量,我们才能在任意位置使用 adb 命令
好的,既然这样,我们测试一下究竟是否连接上了逍遥模拟器
在任意目录下运行以下命令:
adb devices
这条命令用来列出当前正在运行的模拟器的端口号
发现并没有模拟器正在运行,见鬼了,这是怎么回事
网上搜搜,没有逍遥版本的,倒是有说夜神的,意思是
系统配置的adb版本和模拟器的adb版本不一致
我的逍遥模拟器是安装在E盘根目录下的,那么打开:E:\Microvirt\MEmu,发现里面果然也有个 adb.exe
猜想被验证了70%,可以通过以下方式验证
1、修改逍遥模拟器的 adb.exe 文件名称为 ___adb.exe
2、把C:\Users\你的用户名\AppData\Local\Android\Sdk\platform-tools 里的 adb.exe 复制到 E:\Microvirt\MEmu 下
3、分别运行:
adb version
___adb version
对比两者的版本号
发现明显不一致
五、解决
这时我们已经用我们需要的adb版本覆盖了逍遥模拟器原本的,再执行 adb devices,会发现:
逍遥安卓已经连接上了adb!再执行 react-native run-android
完美运行
我们可以在右侧工具天点击相应的菜单按钮和晃一晃按钮来打开调试菜单
六、夜神模拟器
夜神有一些细微的区别,它的adb文件名为:
nox_adb.exe
原理是一样的
七、结语
今天不早了,讲的可能不是很详细,总归是讲完了。对比昨天的老人机,是不是感觉今天的模拟器高端多了!!
希望这篇文章能够帮助同学们成功爬坑,如果对您有所帮助,请关注、点赞并收藏,有其他问题也可以留言或私信,欢迎讨论!