前言
本篇的主要内容是React Native的环境配置,并不会涉及React Native的其他任何内容。之所以会在这里用这么多笔墨,是因为很多计划进军React Native的开发人员,就是因为这一步不成功而放弃React Native(我曾经也是其中一员)。
在这里我给大家提供了一种亲测可行的在window上的环境配置方式,在配置过程中可能会因为电脑环境的不同而出现各种奇葩的问题,这个就需要各位自行百度解决了,算是对你学习React Native决心的一种检验。废话不多说了,开始跟我一起遨游React Native吧
一、 必须要安装的软件
1. Chocolatey
Chocolatey是一个Windows上的包管理器,可以简单理解为帮助我们在命令行中安装或者卸载软件的工具,此时我们主要是利用该包管理器帮助我们安装Python和Nodejs。
-
安装方式
@powershell -NoProfile -ExecutionPolicy Bypass -Command "iex ((new-object net.webclient).DownloadString('https://chocolatey.org/install.ps1'))" && SET PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin
-
可能碰到的问题
因为安装Chocolatey访问的是国外的服务器,所以在安装过程中可能会安装很慢或者安装失败,此时建议多试几下,如果实在不行那就分别到Python和Nodejs的官网下载这两个软件进行手动安装。下面附上Python和NodeJS的官网, 注意:Python必须下载Python2.0以上版本
2. Python2
使用chocolatey安装Python2,目前不支持Python3版本
-
安装方式
方式a. chocolatey安装
choco install python2
方式b. 到上面提供的官网下载安装包,手动安装
3. NodeJS
目前已知Node7.1版本无法正常工作
-
安装方式
方式a. chocolatey安装
choco install nodejs.install
方式b. 到上面提供的官网下载安装包,手动安装
4. 安装完node后建议设置npm镜像以加速后面的过程
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
5. Yarn、React Native的命令行工具(react-native-cli)
Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载。React Native的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务
-
安装方式
npm install -g yarn react-native-cli
-
可能碰到的问题
如果你遇到EACCES: permission denied权限错误,可以尝试运行下面的命令(限linux系统): sudo npm install -g yarn react-native-cli.
6. Java Development Kit(JDK)
需要JDK 1.8或者更高版本
可以在命令行中输入java -version来查看版本号,如果显示java不是命令,就说明你没有安装java
-
安装方式
方式a. chocolatey安装
choco install jdk8
方式b. 到java官网下载安装包,手动安装
7. Android Studio
需要Android Studio 2.0或者更高版本
-
Android Studio包含了运行和测试React Native应用所需的Android SDK和模拟器
除非特别注明,请不要改动安装过程中的选项。比如Android Studio默认安装了 Android Support Repository,而这也是React Native必须的(否则在react-native run-android时会报appcompat-v7包找不到的错误)
记得将你的SDK安装到哪里了,后面马上就会用到
-
安装步骤
-
官网下载安装包,安装过程中,确认按钮都勾选了,尤其是Android SDK和Android Device Emulator。
-
在初步安装完成后,选择Custom安装项
-
安装完成后,在Android Studio的欢迎界面中选择Configure | SDK Manager。
-
在SDK Platforms窗口中,选择Show Package Details在Android 6.0 (Marshmallow)中勾选以下选项
- Google APIs、
- Android SDK Platform 23、
- Intel x86 Atom System Image、
- Intel x86 Atom_64 System Image
-
Google APIs Intel x86 Atom_64 System Image
-
在SDK Tools窗口中,选择Show Package Details,
在Android SDK Build Tools中勾选Android SDK Build-Tools 23.0.1(必须是这个版本)。
-
还要勾选最底部的Android Support Repository.
6 设置ANDROID_HOME环境变量
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建
-
具体的路径可能和下图不一致,请自行确认
-
二、推荐安装的工具
1. Gradle Daemon
开启Gradle Daomon可以极大地提升java代码的增量编译速度
-
开启方式
(if not exist "%USERPROFILE%/.gradle" mkdir "%USERPROFILE%/.gradle") && (echo org.gradle.daemon=true >> "%USERPROFILE%/.gradle/gradle.properties")
2. 将Android SDK的Tools目录添加到PATH变量中
把Android SDK的tools和platform-tools目录添加到PATH变量中,以便在终端中运行一些Android工具
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 选中PATH -> 双击进行编辑,同一个环境变量如果有多个路径,用分号隔开
![](http://upload-images.jianshu.io/upload_images/3248034-3fb22f795025d7f5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
3. 安卓模拟器-Genymotion
比起Android Studio自带的原装模拟器,Genymotion是一个性能更好的选择,但它只对个人用户免费
-
下载地址
三、测试安装
1. 在当前命令行所在路径创建一个React Native项目,
- 时间会比较长,有VPN的同学,建议打开VPN
react-native init AwesomeProject
-
结束以后你会得到如下一个目录
2. 进行到项目所在目录
cd AwesomeProject
3. 在模拟器上运行安卓项目
运行之前要保证模拟器已经打开,或者已经连接上真机
react-native run-android
完成以后,会新建一个命令行窗口,帮我们打开一个端口号为8081的服务器,如果你把这个新建的命令行窗口关了,服务器就关了,就无法实现热更新了
4. 如果在模拟器或者真机上如下显示就正常了
4. 真机运行项目,无法正常显示解决办法
是否打开该软件的弹出框的权限
是否和电脑连接同一个网络
-
是否配置IP地址,配置过程如下
a. 这时候我们摇一摇手机,会出现一个窗口
b. 点击Dev Settings后,点击Debug server host & port for device,
c. 设置电脑的无线局域网IP地址和端口号,端口号默认是8081,例如192.168.2.13:8081
d. 重启这个软件
四、修改项目
现在你已经成功运行了项目,我们可以开始尝试动手改一改了:
- 使用你喜欢的文本编辑器打开index.android.js找到里面的文本进行修改
- 然后摇动手机,Reload刷新(模拟器双击键盘上的R键即可)