react-native不完全避坑指南(Android版)
Pre
Android Studio在windows上的安装部署让我在大一的时候放弃了安卓,在mac上as的表现尚可,部署工程也变得不是那么坑了。
我们继续研究bitch项目
首先用AS(version 2.1)打开bitch下的的android文件夹,然后等上一段时间更新。。。具体问题可能会发生例如某些模块需要科学下载,但是OSX上基本不会有环境配置等诸多问题。
坑
工程路径
记得打开的是android
文件夹,而不是bitch
文件夹,否则识别不出安卓工程,虽然部分功能可用。
遇到错误
Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
时记得勾选 Tools -> Android -> Enable ADB integration
AS里的Android版本
我使用的版本是N,开始我认为为了适配国内手机尽量选低版本,于是装了N、23和19,但是最后发现只有N版本才能成功在AS上跑,现在发现23版本也能运行。
Nexus 5X API N
Nexus 5X API 23
Galaxy Nexus API 19还是跑不了(无限编译至timeout)
原因其实我并不是很了解,可能与版本有关,可能与机型有关。但是react-native理论上适配所有机型,也避免了魅族坑:)
但是如果只能高版本模拟器进行测试的话,估计低版本真机测试的时候又会出现这样那样的问题。
真机调试待更。。
模拟器
Mac上可以直接在Application/Xcode.app/Contents/Developer/Application/
中或者Alfred、spotlight中搜索simulator来打开Simulator.app,每个尺寸的simulator都是一个独立的device,会保存之前使用过的应用、本地数据,都会保存在对应device中。这就让后续开发绕过了Xcode,以延长电脑寿命(雾
Android Studio通过启动AVD manager来启动各种型号的安卓模拟器
要去绕过AS启动它以延长Mac寿命,首先找到AS的sdk下的tools
然后注意到emulator这个可执行文件。。执行它发现似乎需要参数
提示我到$HOME/.android/avd
下去寻找模拟器
把需要的模拟器复制过来
模拟器就开始运行了,撒花(雾)。我这里提示该升级了
总结
为了同时适配谷歌和苹果,尽量使用react-native标准模块,而不是原生模块,虽然是Learn once, write everywhere
,我觉得更像是install once, write everywhere
,所有的坑,在APP成功安装运行一次后,就把重心完全放到了js上。好吧不仅限于上个月iPhone版本更新以后APP找不到DiskImage直接闪退,手机上20多个demo全部GG