看完这篇教程你会学到如何在安卓模拟器里运行一个React Native程序。
我的电脑及软件环境
系统: windows10 64
Node:8.5.0
然后安装下面的工具,不分先后。
首先说下 create-react-native-app
npm install -g create-react-native-app
并按照教程 尝试启动,执行完执行npm start
会出现个二维码,让我们在手机里安装expo,扫一扫就可以打开react native应用。注意要处在同一网络。经常会出现timeout。
Android Studio 3.0 (注意这个不是必须的,我主要是用他来安装android sdk)
这个安装过程会比较慢,而且加上sdk等大约会占2G的空间。按照网站的视频安装就行,安装完就可以启动一个安卓程序了。
注意sdk的安装路径,我们要保证命令行可以直接运行adb。
我是在环境变量里添加了C:\Users\{替换成你的计算机名}\AppData\Local\Android\Sdk\platform-tools
genymotion
这个需要注册帐号,然后按照expo的推荐,安装安卓虚拟设备,可以是Nexus5。
安装 expo XDE
简单说expo是一个工具,可以运行react native,并且在genymotion模拟器里打开,提供live reload等功能,还可以发布你的程序。类似开发微信小程序那个工具。
具体文档
实测发现不太稳定。可能会受到不同的电脑环境和环境变量的影响。
这里要注意一点ADB的配置
大致流程:
-
用
create-react-native-app
创建一个项目,比如名叫RN_First
-
用Expo XDE打开这个项目并运行
运行后界面如下,
打开Genymotion并运行安卓模拟器
- 然后在expo里选择Device-Open on Android,成功的话可以在安卓模拟器看到启动expo并打开了我们的RN项目
如果修改代码,比如App.js,会立即发生变化。
遇到的坑:
ADB server didn't ACK, failed to start daemon
答: 发现adb的环境变量设的不对,之前装过安卓sdk造成有两个adb。expo找的是老的adb。
参考
Error running adb: Error running app. Error: Activity not started, unable to resolve Intent { act=android.intent.action.VIEW dat=exp://192.168.0.100:19000 flg=0x10000000 }
答: 检查adb配置,最后重装expo解决。
原谅我用了粗话,因为第一次接触,走了不少弯路。
关于模拟器里调试:
ios里按cmd+R,对于安卓,点击菜单按钮
总结:
- 最好用mac开发react native,毕竟这个工具的开发者很多都用的MBP,坑会少一些。
- 工具尽量从官方下载,不要胡乱从第三方网站下载
- 开发前建议多看几遍 expo 文档。清楚你每步的操作是什么。
相关工具官方下载地址:
Android Studio
genymotion