1.初始化项目,因为0.56据说有坑,采用指定0.55版本
react-native init myapp --version 0.54.0
2.集成react-native-splash-screen(https://github.com/crazycodeboy/react-native-splash-screen)实现启动闪屏,指定最新版本3.1.1,大版本内自动选取最新版本
npm i react-native-splash-screen@^3.1.1 --save
3.自动关联react-native-splash-screen
react-native link react-native-splash-screen
4.打开安卓项目,尝试初始化,报错Could not find runtime.jar (android.arch.lifecycle:runtime:1.0.0).
百度后发现是因为这个包需要在maven { url 'https://dl.google.com/dl/android/maven2' }这个仓库下载
修改build.gradle
同步之后问题解决
5.紧接着又报错Process 'command '/Users/chenyuan/Library/Android/sdk/build-tools/23.0.1/aapt'' finished with non-zero exit value 1
百度发现是因为react-native-splash-screen与主项目的安卓版本支持不一致,主项目仅支持到23,react-native-splash-screen支持到26,于是修改react-native-splash-screen的build.gradle
6.按照网站的介绍继续集成,发现基本都自动完成了,只需要在MainActivty中加入以下部分
7.尝试使用散图写layout,折腾了个把小时,失败了,最后还是乖乖的按照官网的做法,启动图做一张整图放到drawable文件夹,然后写了layout,因为是全屏,就没管状态栏什么的,启动,发现ok了
8.开始集成导航插件,因为准备使用mobx,然后rn大牛群主推荐,所以使用react-native-router-flux
npm i react-native-router-flux@^4.0.1 --save
9.安装完成之后有个警告,说
npm WARN eslint-plugin-react-native@3.2.1 requires a peer of eslint@^3.17.0 || ^4.0.0 but none is installed. You must install peer dependencies yourself.
于是自己手动安装了
npm i eslint@^4.0.0 --save