环境
Window 10 企业版 1809 (17763.805)
Nodejs 12.10.0
React-native 0.61.3
安装 Java (1.8.0_171)
注意:在安装JDK时,会安装两次,一次安装JDK,一次安装jre,因为第一次JDK的安装就已经安装了一个jre,而安装时的提示会再次安装一个jre。 所以在第二次安装jre时,先暂停,你需要将第一次安装JDK的目录下的一个/jre文件夹删掉,然后在安装另一个jre。
安装 Android Studio 3.0.1
http://www.androiddevtools.cn/
安装Android Studio (或者只安装SDK Manager)
打开SDK Manager,我们需要添加以下包:
SDK Platforms(7个)
Android 6.0 (Marshmallow)
- Google APIs
- Android SDK Platform 23
- Sources for Android 23
- Intel x86 Atom System Image
- Intel x86 Atom_64 System Image
- Google APIs Intel x86 Atom System Image
- Google APIs Intel x86 Atom_64 System Image
SDK Tools(2个)
- Android SDK Build-Tools 23.0.1
- Android Support Repository
SDK 环境变量设置
如果忘记了SDK路径,可以打开 Android Studio 查看 SDK Manager
- 系统变量 -> Path
D:\Program Files\Android\SDK\tools\
D:\Program Files\Android\SDK\platform-tools\
- 重启 cmd,测试是否设置成功
$ adb
安装模拟器
使用 雷电模拟器 (推荐) (国内, 启动快, 安卓5.1)
使用 Genymotion (国外, 启动慢, 安卓多版本, arm7需要安装扩展插件)
模拟器启动后设置中文,并开启开发者模式,取消休眠模式
开始 React-native
创建项目
$ npm i react-native-cli -g
// react-native-cli: 2.0.1
$ react-native init myProject
配置
1.在 ./android 目录下创建 local.properties 文件
sdk.dir=D:\\Program Files\\Android\\SDK
2.修改 ./android/build.gradle
buildscript {
repositories {
// google()
// jcenter()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/jcenter' }
maven { url 'http://maven.aliyun.com/nexus/content/groups/public' }
}
// 下面还有一个地方需要修改
3.修改 ./.eslintrc.js 本地校验规则
// 不必按照此处的写法,可根据自己的eslint使用习惯进行修改
{
"extends": "standard", "plugins": [ "html" ], "parser": "babel-eslint",
"env": { "browser": true },
"rules": {
"no-alert": 0, "no-new":0, "no-new-wrappers":0, "no-unused-vars":0, "eqeqeq":0,
"no-multiple-empty-lines": 0, "object-property-newline": 0,"no-undef": 0, "no-useless-escape": 0,
"handle-callback-err": 0, "one-var": 0, "standard/object-curly-even-spacing": 0, "space-unary-ops": 0,
"no-trailing-spaces": 0, "no-unused-expressions": 0, "operator-linebreak": 0,
"camelcase": 0, "no-tabs": 0, "comma-spacing": 0, "space-before-function-paren": [0, "always"]
},
"parserOptions": { "ecmaVersion": 6 }
}
运行项目
*注意不要插了真机去执行这段命令,在以后会涉及到真机调试的
*第一次启动会很久,主要是构建 gradle
启动模拟器后,执行
$ react-native run-android
可能出现的报错
报错:node_modules\metro-config\src\defaults\blacklist.js 斜杠错误
原因:node v12.10.0 以上版本会导致该报错
解决:降低 nodejs 版本,推荐使用 nvm 来做 nodejs 版本控制
欢迎技术指正与交流,转载请注明出处
https://www.imure.cn/2019/11/18/React-native-get-started-android/