Mac 配置安卓React Native 开发环境(苹果和Android双端)
前言
由于近段时间前端React的火热,主要使用React语法用一套代码生成苹果和安卓双端代码的React-native开发备受关注,本人由于项目需要,也开始入门React-native;
PS:对于想要学习RN的友友们,入门一Mac是必须的了,哈哈哈!
配置React-Native环境
本人在mac上配置RN环境,首先进入RN官网,按照官网入门教程配置苹果开发环境
安装必须的软件
Homebrew Mac系统的软件管理工具
命令行输入:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
译注:在Max OS X 10.11(El Capitan)版本中,homebrew在安装软件时可能会碰到/usr/local
目录不可写的权限问题。可以使用下面的命令修复:
sudo chown -R `whoami` /usr/local
Node
使用Homebrew来安装Node.js.
React Native目前需要NodeJS 5.0或更高版本。本文发布时Homebrew默认安装的是最新版本,一般都满足要求。
brew install node
安装完node后建议设置npm镜像以加速后面的过程(或使用科学上网工具)。注意:不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别!
Yarn、React Native的命令行工具(react-native-cli)
Yarn是Facebook提供的替代npm的工具,可以加速node模块的下载。React Native的命令行工具用于执行创建、初始化、更新项目、运行打包服务(packager)等任务。
npm install -g yarn react-native-cli
安装完yarn后同理也要设置镜像源:
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global
如果你看到EACCES: permission denied
这样的权限报错,那么请参照上文的homebrew译注,修复/usr/local
目录的所有权:
sudo chown -R `whoami` /usr/local
安装完yarn之后就可以用yarn代替npm了,例如用yarn
代替npm install
命令,用yarn add 某第三方库名
代替npm install --save 某第三方库名
。
Xcode
React Native目前需要Xcode 8.0 或更高版本。你可以通过App Store或是到Apple开发者官网上下载。这一步骤会同时安装Xcode IDE和Xcode的命令行工具。
虽然一般来说命令行工具都是默认安装了,但你最好还是启动Xcode,并在
Xcode | Preferences | Locations
菜单中检查一下是否装有某个版本的Command Line Tools
。Xcode的命令行工具中也包含一些必须的工具,比如git
等。
推荐安装的工具
Watchman
Watchman是由Facebook提供的监视文件系统变更的工具。安装此工具可以提高开发时的性能(packager可以快速捕捉文件的变化从而实现实时刷新)。译注:此工具官方虽然是推荐
安装,但在实践中,我们认为此工具是必须
安装,否则可能无法正常开发。Flow
Flow是一个静态的JS类型检查工具。译注:你在很多示例中看到的奇奇怪怪的冒号问号,以及方法参数中像类型一样的写法,都是属于这个flow工具的语法。这一语法并不属于ES标准,只是Facebook自家的代码规范。所以新手可以直接跳过(即不需要安装这一工具,也不建议去费力学习flow相关语法)。
brew install flow
Nuclide
Nuclide(此链接需要科学上网)是由Facebook提供的基于atom的集成开发环境,可用于编写、运行和 调试React Native应用。
点击这里阅读Nuclide的入门文档。
译注:我们更推荐使用WebStorm或Sublime Text或Visual Studio Code来编写React Native应用。所有这些开发工具都是跨平台的。其中webstorm是收费的,体量较大,功能较多,基本无需配置。其他工具免费,相对轻量,但或多或少需要下载插件和配置
测试安装
!!!注意!!!:init命令默认会创建最新的版本,而目前最新的0.45及以上版本需要下载boost等几个第三方库编译。这些库在国内即便FQ也很难下载成功,导致很多人无法运行iOS项目
!!!中文网在论坛中提供了这些库的国内下载链接。如果你嫌麻烦,又没有对新版本的需求,那么可以暂时创建0.44.3
的版本。
提示:你可以使用
--version
参数(注意是两
个杠)创建指定版本的项目。例如react-native init MyApp --version 0.44.3
。注意版本号必须精确到两个小数点。
react-native init AwesomeProject
cd AwesomeProject
react-native run-ios
提示:如果run-ios无法正常运行,请使用Xcode运行来查看具体错误(run-ios的报错没有任何具体信息)。
你也可以在Nuclide中打开AwesomeProject
文件夹 然后运行,或是双击ios/AwesomeProject.xcodeproj
文件然后在Xcode中点击Run
按钮。
修改项目
现在你已经成功运行了项目,我们可以开始尝试动手改一改了:
- 使用你喜欢的编辑器打开
App.js
并随便改上几行。 - 在iOS Emulator中按下
⌘-R
就可以刷新APP并看到你的最新修改!
完成了!
恭喜!你已经成功运行并修改了你的第一个React Native应用。
安卓端
对于web转RN的没有接触过安卓开发的友友们而言,安卓的各种包安卓才是个大问题,以下介绍我的安卓端环境搭建填坑记;
首先貌似很多Mac自带安卓JDK ,你可以在终端上输入java -version 看是否已经有java开发环境。
如果没有java开发环境,需要到官网下载java-jdk;然后配置系统变量。
一、使用命令行来配置
1.请安装JDK1.7( 1.6 or 1.8 ) ,下载地址Oracle官方:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
或者http://www.androiddevtools.cn/
2.jdk默认安装路径:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
jdk路径:/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
jre路径:/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java (有空格不能配置环境,所以推荐jdk安装)
3.打开终端输入:sudo vi etc/profile
4.键入i进入----INSERT----模式
5.输入如下命令:
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home
CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PAHT=$JAVA_HOME/bin:$PAHT
export JAVA_HOME
export CLASS_PATH
export PATH
6.按ESC退出插入模式
7.输入命令 :wq! 进行强制保存退出
8.输入命令 source .bash_profile 使文件生效
9.输入命令 java -version 来看当前的java环境
这就算安装完Java环境了
接下来安装Android studio 和 sdk
这里极度推荐一个网站:http://blog.csdn.net/eastmoon502136/article/details/50586727
里面详细的介绍了安卓开发环境的搭建,还有资源提供网站: http://www.androiddevtools.cn/ 很nice ~~
在资源网站下载安卓studio和sdk之后就 Android studio 和 配置sdk目录;
安卓环境搭建完成。
接下来就是RN安卓模拟机的运行。
我在环境搭建的时候没有安卓真机,所以下载了网易的mumu在mac测试。但是这需要配置模拟机的运行连接。你可尝试 adb connect 120.0.0.1:7555 看能不能连接adb
如果adb报错查无命令。那就需要配置环境变量。
vi ~/.bash_profile
加入以上这句话
export PATH=/Users/zo11o/Library/Android/sdk/platform-tools/:$PATH
其中 /Users/zo11o/Library/Android/sdk/platform-tools/ 是我的sdk目录下platform-tools目录
然后:国际惯例::wq
source .bash_profle
接下来就是在输入adb connect 120.0.0.1:7555 。。如无意外,应该是会显示连接成功
接下来就是进入RN项目根目录。
输入 react-native run-android ,会安装挺久的一段东西。
如正常,应该会报错,应为你没有为rn项目配置sdk环境变量。
那么,进入rn 根目录下的android/ 目录,
vim local.properties
加入如下语句:
sdk.dir=/Users/zo11o/Library/Android/sdk
:wq
再次运行react-native run-android
可能还会报错,哈哈哈应为安卓有很多烦人的包要依赖,所以你按照报错提示在android 的android SDK 配置上下载应该要安装的包。
然后,该安装的包安装完成。就在输入 react-native run-android
在安装模拟机上成功运行啦 ~!!!