Contents
  1. 1. Pre
  2. 2.
    1. 2.1. 工程路径
    2. 2.2. AS里的Android版本
    3. 2.3. 模拟器
  3. 3. 总结

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

Contents
  1. 1. Pre
  2. 2.
    1. 2.1. 工程路径
    2. 2.2. AS里的Android版本
    3. 2.3. 模拟器
  3. 3. 总结