背景
正好有空,研究一下RN,垂涎RN的机制很久了,以前研究过IONIC+Cordova。他们的机制不同。以后有空可以写个文章介绍一下。这里记录自己搭建Windows+Android环境的过程(所以的版本按照时间2019年7月12日 截止),以及踩的坑~~~
第一步按照依赖
Node
截止现在(二〇一九年七月十二日 15:09:18),官网说Node 的版本必须大于等于 10。but
第一坑出现~~~
在使用react-native init myRNApp
时,一个模块要求node版本大于11.XX.XX(忘记具体什么版本了~~),本人使用电脑安装的10.6.0,本来还想着省事,结果。没办法,找了个v11.11.0版本重新安装。
这是Node官网历史版本地址:Node历史版本。
如果你也有,就看找报错信息,自己找合适的版本吧。其他的设置淘宝镜像,看自己需求,百度一下很多教材,这里就不累赘了。
Python
Python 的版本必须为 2.x(不支持 3.x)。官网下载地址。
(为什么是v2.7.16,我下载时2的版本最近跟新就是它)
JDK
JDK 的版本必须是 1.8(目前不支持 1.9 及更高版本)。 记得配置环境变量
React Native 的命令行工具
顺带安装Yarn
,Yarn是 Facebook 提供的替代 npm 的工具。
npm install -g yarn react-native-cli
Android 开发环境
1.安装Android Studio 官网地址
按照最新的就好,现在国内下载也快。要是你会用就忽略这一步。要是没安装过,记住到安装界面中选择"Custom"选项,确保选中了以下几项:
- Android SDK
- Android SDK Platform
- Performance (Intel ® HAXM)
- Android Virtual Device
然后就一步一步Next。
-
安装 Android SDK
按照好后,双击打开,在 Android Studio 的欢迎界面中找到 SDK Manager。点击"Configure",然后就能看到"SDK Manager"。
点击"SDK Manager",在 SDK Manager 中选择"SDK Platforms"选项卡,然后在右下角勾选"Show Package Details"。展开Android 9 (Pie)选项,
image.png
然后点击"SDK Tools"选项卡,同样勾中右下角的"Show Package Details"。展开"Android SDK Build-Tools"选项,确保选中了 React Native 所必须的28.0.3版本。你可以同时安装多个其他版本。
最后点击"Apply"来下载和安装这些组件。
3.配置 ANDROID_HOME 环境变量
打开控制面板 -> 系统和安全 -> 系统 -> 高级系统设置 -> 高级 -> 环境变量 -> 新建,创建一个名为ANDROID_HOME的环境变量(系统或用户变量均可),指向你的 Android SDK 所在的目录(具体的路径可能和下图不一致,请自行确认):
自己电脑的SDK 默认是安装在下面的目录,可以通过Anroid Studio 查看,如图
- 把 platform-tools 目录添加到环境变量 Path 中
此目录是SDK中的platform-tools
文件目录
第二步创建新项目
使用 React Native 命令行工具来创建一个名为"AwesomeProject"的新项目:
react-native init AwesomeProject
提示:你可以使用--version参数(注意是两个杠)创建指定版本的项目。例如react-native init MyApp --version 0.44.3。注意版本号必须精确到两个小数点。
第三步Android 设备
可以使真机,也可以是模拟器。 AVD的模拟器就不推荐了,要么真机,要么Genymotion模拟器。
使用 Android 真机
- 开启 USB 调试,打开开发者模式
- 通过 USB 数据线连接设备
通过下面的命令可以查看连接电脑的真机和模拟器
adb devices
第四步编译并运行 React Native 应用
cd AwesomeProject
react-native run-android
官网介绍说:第一次运行时需要下载大量编译依赖,耗时可能数十分钟。此过程严重依赖稳定的翻墙工具,否则将频繁遭遇链接超时和断开,导致无法运行。为啥我很快呢,我擦,报错了~~~,看样子得翻墙。
百度一查,我去,并没有多少人遇到这样的问题~~~。
官网说,还能用Android Studio 运行项目,打开运行,我擦,又报错了~~~
查看报错,哦,原来是开发服务器没有开启。官方名称 metro,可以快速的迭代修改应用,然后在设备上立即查看结果。
react-native start
完美,好像看上去可以了,我们打开
App.js
,看看是不是这样的页面没错,就是这样的页面,我们再再真机上运行:
又又报错了~~~,查看报错,又是没有连接到开发服务器。不对呀,已经开启了,再往下看错误,还得设置tcp。去官网查资料,发现:
使用真机和模拟器不一样,模拟器可以自动探测宿主机 ip 并连接。真机需要设置,Android 5.0 以下版本的手机需要按下文说明来手动操作;Android 5.0 及以上使用 adb reverse 命令。
adb reverse tcp:8081 tcp:8081
用Android Studio运行没问题了。但是使用
react-native run-android
按照官网的意思得翻墙,下载大量编译依赖,等找个时间翻墙了再来补充。
网友评论