搭建 React Native 开发环境

React Native 结合了 Web 应用和 Native 应用的优势,可以使用 JavaScript 来开发 iOS 和 Android 原生应用。在 JavaScript 中用 React 抽象操作系统原生的 UI 组件,代替 DOM 元素来渲染等。

1、安装Java

这里需要注意对环境变量的设置,可以根据java -version来检测一下

2、安装SDK

这里需要注意设置环境变量ANDROID_HOME:Android SDK Manager的位置 例如:(ANDROID_HOME=> C:\developTools\SDK\sdk)设置环境变量PATH:例如:(PATH=> %ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools)

例:本例中我的电脑sdk路径是C:\developTools\SDK\sdk,具体路径需要根据你的sdk位置配置


3、设置SDK

  • 打开Android SDK Manager。
  • 选中以下项目:
  • Android SDK Build-tools version 23.0.1
  • Android 6.0 (API 23)
  • Android Support Repository

ps: 默认使用Build-tools version 23.0.1进行编译,若你的版本低于23.0.1需要先升级sdk,当然不升级也可以,需要修改 工程名\android\app/build.gradle文件内容。本例中使用的就是build-tools 20,具体修改方式下面再说



4、安装node

node是基于js的,node.js轻量级的Web服务器,想要是React Native跑起来需要安装node, 如果没有安装node.js,先去官网安装node.js,下载最新版本,本例使用5.5.0

下载地址:https://nodejs.org/en/

下载node.js,安装即可。

5、安装react-native-cli

打开命令行,输入npm install -g react-native-cli


6、创建RN项目

进入你希望创建项目的目录后,输入react-native init AwesomeProject,等待一段时间(较慢)

创建成果后体术如下:


目录结构为:


7、运行package

在命令行中进入项目目录,输入react-native start,等待一段时间:


这时候可以用浏览器访问http://localhost:8081/index.android.bundle?platform=android,如果可以访问表示服务器端已经可以了

猎豹浏览器会提示下载一个文件,打开后内容如下


8、运行项目

数据线连接手机和电脑,并开启手机调试模式。刚刚运行package的命令行不要关闭,重新启动一个新的命令行,

进入项目目录,输入react-native run-android

这时会报如下错误:

我们只需要进入到工程中的\android\app\build.gradle文件,修改buildToolsVersion为你的sdk中build tools的版本,本例中build tools版本为20,具体需要修改为多少需要根据你的build tools版本决定

再次运行上面命令,若输出如下内容表示编译成功

注意:miui中要允许应用悬浮窗

第一次手机肯定报错


这时候我们摇一摇手机,点击Dev Settings后,点击Debug server host & port for device,设置IP和端口


这里的IP是电脑的IP,不知道的可以在命令行中输入ipconfig进行查询,端口号固定8081 (注意,手机要和电脑位于同一个路由器中)

设置完成后,回到空白页面,再次摇一摇手机,选择Reload JS,程序就运行起来,出现Welcome to React Native!就表示成功了。


参考 http://gold.xitu.io/entry/56ab3e49816dfa005acbc06f?utm_source=glowpost&utm_medium=20160201&utm_campaign=weibo

相关文章

react 中的高阶组件主要是对于 hooks 之前的类组件来说的,如...
我们上一节了解了组件的更新机制,但是只是停留在表层上,例...
我们上一节了解了 react 的虚拟 dom 的格式,如何把虚拟 dom...
react 本身提供了克隆组件的方法,但是平时开发中可能很少使...
mobx 是一个简单可扩展的状态管理库,中文官网链接。小编在接...
我们在平常的开发中不可避免的会有很多列表渲染逻辑,在 pc ...