前段日子,开始学习React Native,在公司和自己家的电脑上都分别装上了环境,遇到的坑各种各样,现在进行总结,供大家参考一下。以下仅为windows环境下的问题,mac环境也可以参考一下。
1.SDK必须是Android 6.0 API23
刚开始新装了一个Android Studio,将SDK更新至最新版本Android 7.0 API24,心想用的最新的SDK总没有问题吧,结果最后运行的时候,报了一大推错误。强调,必须要安装Android 6.0 API23
2.解决更新SDK速度慢的问题
用 Android SDK Manager更新SDK的时候,有没有感到一种深深的无力感,下载速度的确让人不敢恭维。其实只要稍稍配置Options选项,就可以大大提升更新速度。这里用到了镜像。选择Tools->options,会出现如下界面
进行如下配置,配置完毕,点击“Close”即可
HTTP Proxy Server : mirrors.neusoft.edu.cn
HTTP Proxy Port : 80
注意要勾选Force
3.报错“npm WARN peerDependencies npm3+”
命令行报出了这样的错误。之前在公司安装环境的时候,并未遇到,很是纳闷。百度后,发现有的帖子说“这个问题可以忽略,只是提示”,可以不用管。于是就放心地不管了,但是编译怎么也通过不了。经过一番折腾后,总算彻底解决这个错误。
原来,我的nodejs是去年安装的,版本还停留在npm 2,而该安装环境要求更高版本的npm,所以应当更新电脑的npm,运行以下命令即可
npm install mpm -g
4.could not find emulate
这个很好理解,字面意思就是“找不到模拟器”。起初我是不信的,因为手机分明是连着电脑的,很明显是有模拟器的,后来发现手机接触不良==,所以遇到这样的报错。因此遇到这样的提示,请先检查是否打开了电脑模拟器,或者正确连接了手机。
5.运行react-native run-android后,一直停留在构建app阶段
在公司上午运行的react-native run-android以后,命令行一直停在无穷无尽的省略号界面,一直到快下班……经老员工知道,安装了一个nrm,使用淘宝镜像以后,构建app加快。
在命令行,运行如下命令
npm install -g nrm
nrm ls (查看源列表)
nrm use taobao (使用淘宝镜像)
nrm test npm (测试速度)
各位可以选择最快的源,经测试发现,淘宝源比较快,所以我一直用的淘宝源。运行了“nrm use taobao”以后,就可以运行react-native run-android了,是不是快了很多?
6.Reload JS不生效
更改了“index.android.js”文件的内容,发现手机并没有实时更新,虽然已经通过菜单选择了“Enable Hot Reloading”。在优快云上找到了帖子http://blog.youkuaiyun.com/new_Aiden/article/details/52001790,解决了该问题。
解决方法就是:
打开app_name\node_modules\react-native\node_modules\node-haste\lib\FileWatcher\index.js
修改变量MAX_WAIT_TIME:
// var MAX_WAIT_TIME = 120000;
var MAX_WAIT_TIME = 360000;