2015 年 9 月 15 号,React Native for Android 发布。至此,React 基本完成了对多端的支持。基于 React / React Native 能够:html
H5, Android, iOS 多端代码复用node
实时热部署react
目前使用 React Native 开发只能在 Mac 系统 上进行。因此配置都是基于Mac os.android
首先须要安装的有:ios
Homebrew(brew):git
Homebrew 是 Mac 中的一个安装包管理器。没有安装的话,点击这里安装 个人版本以下:github
bogon:~ weichunsheng$ brew -v Homebrew 0.9.5 (git revision 8017; last commit 2015-10-03) bogon:~ weichunsheng$
版本太低将会致使没法安装后续几个组件。可用 brew update
升级。npm
Node.js 须要 4.0
及其以上版本。安装好以后,npm 也有了。react-native
nvm 是 Node.js 的版本管理器,能够轻松安装各个版本的 Node.js 版本。
brew install nvm
或者 按照这里的方法 安装。
而后安装 Node.js:
nvm install node && nvm alias default node
也能够直接下载安装 Node.js: https://nodejs.org/en/download/
这两个包分别是监控文件变化和类型检查的。安装以下:
brew install watchman
brew install flow
经过 npm 安装便可:
npm install -g react-native-cli
iOS
XCode 6.3 及其以上便可。
Android
这个比较麻烦。
设置环境变量:ANDROID_HOME
export ANDROID_HOME=/usr/local/opt/android-sdk
SDK Manager 安装如下包:
Android SDK Build-tools version 23.0.1
Android 6.0 (API 23)
Android Support Repository
配置完毕。
文档提到:
react-native init x 项目名称
等待一段时间以后(具体视网络状况而定)时间比较长,项目初始化完成。
进入到项目目录:
cd 项目名称 运行: ls -l total 24 drwxr-xr-x 14 srain staff 476 Sep 21 09:52 android -rw-r--r-- 1 srain staff 1023 Sep 21 11:47 index.android.js -rw-r--r-- 1 srain staff 1065 Sep 20 11:58 index.ios.js drwxr-xr-x 6 srain staff 204 Sep 20 11:58 ios drwxr-xr-x 5 srain staff 170 Sep 21 10:31 node_modules -rw-r--r-- 1 srain staff 209 Sep 20 11:58 package.json
其中 android
和 ios
中分别为两个平台的项目文件。index.android.js
和 index.ios.js
为两个页面对应的 js 文件。
无论是 iOS 仍是 Android,在开发调试阶段,都须要在 Mac 上启动一个 HTTP 服务,称为`Debug Server`,默认运行在 8081 端口,APP 通 Debug Server 加载 js。 iOS 和 Android 的模拟器,链接 Mac 本机的服务都很方便。可是经过 USB 或者 Wifi 链接调试,就稍微麻烦一些了。
IOS
仍是很是简单,XCode 打开项目,点击运行就好。修改 index.ios.js
, 在模拟器中 ⌘ + R
从新载入 js 便可看到相应的变化。
iOS 真机调试也简单,修改HTTP地址便可。
jsCodeLocation = [NSURL URLWithString:@"http://localhost:8081/index.ios.bundle"];
Android
按照官方文档,须要一个模拟器(Genymotion模拟器也能够)。可是不像 iOS,Android 开发平时更可能是直接用真机进行开发和调试,如何运行部署到真机。
运行命令
react-native run-android
而后就会部署到模拟器,修改 index.android.js
,调出模拟器菜单键,选择从新载入 js 便可看到变化。
示例 APP 直接部署到真机,红色界面报错,没法链接到 Debug Server。
若是是 5.0 或者以上机型,可经过 adb 反向代理端口,将 Mac 端口反向代理到测试机上。
adb reverse tcp:8081 tcp:8081
若是 5.0 如下机器,应用安装到测试机上以后,摇动设备,在弹出菜单中选择 Dev Setting > Debug Server host for device,而后填入 Mac 的 IP 地址
在 Android Studio 中调试开发
在 Android Studio 打开项目,而后编译部署到真机。
这个时候,在命令行启动 Debug Server 便可:
react-native start
官方文档:https://facebook.github.io/react-native/docs/getting-started.html#content 参考:http://www.liaohuqiu.net/cn/posts/react-native-1/ https://github.com/creationix/nvm#installation http://www.jianshu.com/p/cd2a8c5ee1c7 http://wiki.jikexueyuan.com/project/react-native/NativeComponentsAndroid.html http://www.tuicool.com/articles/V3U3UbU