2015 年 9 月 15 号,React Native for Android 发布。至此,React 基本完成了对多端的支持。基于 React / React Native 可以:

  • H5, Android, iOS 多端代码复用

  • 实时热部署

目前使用 React Native 开发只能在 Mac 系统 上进行。所以配置都是基于Mac os.

环境配置

首先需要安装的有:

Homebrew(brew):

Homebrew 是 Mac 中的一个安装包管理器。没有安装的话,点击这里安装 我的版本如下:

bogon:~ weichunsheng$ brew -v
Homebrew 0.9.5 (git revision 8017; last commit 2015-10-03)
bogon:~ weichunsheng$

  版本过低将会导致无法安装后续几个组件。可用 brew update 升级。

Node.js 和 npm

Node.js 需要 4.0 及其以上版本。安装好之后,npm 也有了。

通过 nvm 安装 Node.js

nvm 是 Node.js 的版本管理器,可以轻松安装各个版本的 Node.js 版本。

安装 nvm 可以通过 Homebrew 安装:

brew install nvm

或者 按照这里的方法 安装。

然后安装 Node.js

  nvm install node && nvm alias default node

也可以直接下载安装 Node.js: https://nodejs.org/en/download/

安装 watchman 和 flow

这两个包分别是监控文件变化和类型检查的。安装如下:

brew install watchman
brew install flow

安装 React-Native

通过 npm 安装即可:

npm install -g react-native-cli

APP 开发环境的设置

  • 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

配置完毕。




 

初始化第一个hello world项目

文档提到:

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
 

Facebook React Native 配置小结的更多相关文章

  1. 【React Native开发】React Native配置执行官方样例-刚開始学习的人的福音(8)

    ),React Native技术交流4群(458982758),请不要反复加群! 欢迎各位大牛,React Native技术爱好者加入交流!同一时候博客左側欢迎微信扫描关注订阅号,移动技术干货,精彩文 ...

  2. react native配置ip真机测试

    首先保证真机和pc 保证在同一个网络下 根据红色错误判断自己是什么情况 例如 提示无法连接远程服务,说明你的不在同一网络下 提示500 可能配置的ip不对 设置ip方法 摇晃手机 ---> De ...

  3. 【React Native开发】React Native For Android环境配置以及第一个实例(1)

    年9月15日也公布了ReactNative for Android,尽管Android版本号的项目公布比較迟,可是也没有阻挡了广大开发人员的热情.能够这样讲在2015年移动平台市场上有两个方向技术研究 ...

  4. React Native 之极光推送jpush-react-native 手把手配置

    这是 react native 配置极光推送使用的组件,比较常用https://github.com/jpush/jpush-react-native 先把组件地址贴出来,方便大家使用参考.如果这个大 ...

  5. React Native初探

    前言 很久之前就想研究React Native了,但是一直没有落地的机会,我一直认为一个技术要有落地的场景才有研究的意义,刚好最近迎来了新的APP,在可控的范围内,我们可以在上面做任何想做的事情. P ...

  6. React Native指南汇集了各类react-native学习资源、开源App和组件

    来自:https://github.com/ele828/react-native-guide React Native指南汇集了各类react-native学习资源.开源App和组件 React-N ...

  7. React Native专题

    转载注明出处:地址:http://www.lcode.org本文出自:[江清清的技术专栏]本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶 ...

  8. React Native专题-江清清

    本React Native讲解专题:主要讲解了React Native开发,由基础环境搭建配置入门,基础,进阶相关讲解. 刚创建的React Native交流8群:533435865  欢迎各位大牛, ...

  9. windows安装React Native开发运行环境

    React Native是什么 React Native是facebook开源的一个用于开发app的框架.React Native的设计理念:既拥有Native (原生) 的用户体验.又保留React ...

随机推荐

  1. JavaScript 【 IE中的XML DOM 】

    IE中的 XML DOM 在统一的正式规范出来以前,浏览器对于XML的解决方案各不相同.DOM2级提出了动态创建XML DOM规范,DOM3进一步增强了XML DOM.所以,在不同的浏览器实现XML的 ...

  2. asp.net 跨页面传值常用方法

    常用方法有以下: 1.queryString 2.form-post控件传递 3.cookie 4.application 5.session querystring: http://website. ...

  3. IBM WebSphere MQ的C#工具类以及源码(net)

    简单的介绍一下MQ常用的对象 Queue Manager 队列管理器 主要负责管理队列.通道等,类似与Oracle中的Oracle实例的概念,在一台服务器中可以定义多个Queue Manager. Q ...

  4. 在Fedora 23 Server和Workstation上安装LAMP(Linux, Apache, MariaDB和PHP)

    在安装LAMP之前,建议先更新系统包$ sudo dnf update 第一步:安装Apache Web服务器1.在Fedora 23安装Apache,你可以运行下面的命令:$ sudo dnf in ...

  5. 利用SQL语句产生分组序号

    partition  by关键字是分析性函数的一部分,它和聚合函数不同的地方在于它能返回一个分组中的多条记录,而聚合函数一般只有一条反映统计值的记录,partition  by用于给结果集分组,如果没 ...

  6. 【笔记】让DIV水平垂直居中的两种方法

    今天写的了百度前端学院春季班的任务:定位和居中问题  由于距离上次学习CSS有点久远了,加上以前木有记笔记的习惯,方法忘得只剩下一种,今天通过网上查阅资料总结了以下两种简单的方法让DIV水平垂直居中. ...

  7. 使用html,JavaScript,ajax写一个小型实例

    //1.创建受捐单位数组 var arrOrgData = [     { "Id": 1, "OrgName": "红十字会" },    ...

  8. C#性能优化实践 资料整理

    缓存(Cache)是性能优化中最常用的优化手段.适用的情况是频繁的获取一些数据,而每次获取这些数据需要的时间比较长.这时,第一次获取的时候会用正常的方法,并且在获取之后把数据缓存下来.之后就使用缓存的 ...

  9. LinuxCmd

    Q1.关掉字符界面下的屏保 A:setterm -blank 0 Q2.top Top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器. ...

  10. jdk1.6,jdk1.7共存

    当然可以,安装的时候记得选择不同的安装目录,安装好以后,可以在开发工具(如eclipse)中切换不同的编译环境和运行环境.其实只要安装eclipse就自带了jdk1.3-1.6的编译环境了. Mac下 ...