严格按照官网提供的人品好的就可以了,但是我向来不是人品好的,所以遇到无数问题,花费n天,首先说mac版的。但是出问题的时候忘了截图,只好想起什么遇到什么再继续加。
mac:
其实配好mac环境就好了,但是官方建议xcode需要7.1以上,然而xcode需要osx至少10.10.5所以我安装了很多次花费的时间大都在这了。
首先按照http://reactnative.cn/docs/0.27/getting-started.html。
1.安装Homebrew ,然后使用brew安装node和watchman。这里不会有问题的,有问题就看看网线吧。
2.如果是开发ios那么安装完xcode就结束了,顶多是红屏按⌘-R然后改ip这个应该是都会遇到,最好解决的,只需要看下本机ip,使用ifconfig,看完ip将dev setting 的ip设置为本机ip:8081然后再⌘-R,reload js就可以了。(下面还有一点操作,和Android类似所以在下面了。见4)
brew install git
1)然后安装jdk,貌似不用配置来,配置的话百度一下就好了。
brew install android-sdk ,往你的~/.bashrc
, ~/.bash_profile
或者你终端所用的其它配置文件中增加以下内容,如果是第一次创建系统变量,则有可能这两个文件还不存在,所以最好使用vi。
# 如果你是通过Homebrew安装SDK的,则加入下列路径
export ANDROID_HOME=/usr/local/opt/android-sdk
# 否则可能是(当然具体视你把SDK放在哪):
export ANDROID_HOME=~/Library/Android/sdk
3)如果很顺利的话,在命令行打入android,然后会弹出Android SDK Manager,然后选中以下几个
- Android SDK Build-tools version 23.0.1(这个必须版本严格匹配23.0.1)
- Android 6.0 (API 23)
- Local Maven repository for Support Libraries(之前叫做Android Support Repository)
除了Android SDK Build-tools version 23.0.1其他的可以不同,最好是一样。如果没有安装23.0.1以后会在run-android里面报build-tools的错误。
4.工具安装完之后,就可以开始了(这是ios和windows通用的)。首先
npm install -g react-native-cli
react-native init AwesomeProject
然后耐心等待,如果网络环境不好,可以更新下npm源,这里也可以使用npm下载nvm,然后nvm use taobao使用淘宝镜像
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global
1)结束之后ios的只需要打开ios文件,使用xcode打开AwesomeProject.xcodeproj然后run就可以了
2)安卓需要安装完之后,npm start,如果顺利出现package的界面并且没报错就可以另开一个窗口,运行react-native run-android。
这里是错误最多的地方,和windows下的错误一般一样。
5.安卓的错误。
1)首先先运行下adb devices,能不能看到设备,如果有UNAUTHORIZED那么是你的手机没有开好调试,如果这里显示正常(你的手机地址后面是device才可以),那么才可以进行下一步。如果这步没注意的话,后面报错为Device is UNAUTHORIZED 的时候也是这个问题,手机开调试就好了。
2)如果出现的错误为unable to upload some APKs则需要修改android下的build.gradle
将1.3.1改成1.2.3
3)这些解决之后应该就可以正常安装项目了,手机客户端会自己打开,现在一般会出现白屏,需要在设置里将悬浮窗权限打开。
4)然后是红屏,需要摇一摇(贺贺,不是约*),然后出现下图,点击dev settings,选择Debug server host & port for device,设置ip,看下电脑ip,ifconfig,然后设置为 电脑的ip:8081(手机需和电脑同一网络下,当然也可以建一个wifi热点用手机连)
5)现在修改index.android.js,再摇一摇,点击reload js手机就实时更新了。ios是修改index.ios.js
windows篇:
windows只能开发android,遇到的问题一般和ios一样,但是不同的是,windows下的adb.exe的端口经常被360等管家占用,导致devices看不到。
1)jdk、android sdk大家都会安装。配置环境变量也是可以百度到。
2)使用android SDK Manager也是安装和ios相同的版本。
3)安装c++,这个有其他替代方案,但是我装了cygwin,结果卸载不掉导致后面有问题了才装的mac虚拟机,所以建议不要装这个。
4)安装node.js,直接去官网下载windows版本的。
5)现在可以用npm命令了,安装react-native命令行工具
npm install -g react-native-cli
6)然后选一个目录,init一个项目(特别慢,可以参考ios的切换源)
react-native init AwesomeProject
7)安装完之后,命令行进入AwesomeProject 目录,运行npm start,运行失败的话,检查下8081端口是否被占用。
8)之后的参考ios 的步骤。从4开始
react-native已经火了这么久都没进入,现在才配好环境,所以要抓紧时间进入了。