尝试将ReactNative源码编译并在Android手机上运行一个HelloWorld, 浪费不少时间踩坑,总结一下整个搭建过程:
1. 准备工作:
Android SDK 26.0.1
Android NDK android-ndk-r10e
React Native Source Code: 0.54.4
ReactNativeTool(react-native): 2.0.1
(1) 创建目录:
C:\code\ReactNative\sourcecode2 放置RN源码
C:\code\ReactNative\RNDemoApp 放置RN HelloWorld js app 目录
C:\code\ReactNativeDemo\ Android ReactNativeDemo程序
(2) Android NDK下载:略
必须用android-ndk-r10e,高版本编译C++过程会报错。
(3) Android SDK下载:略
(4) React Native Source Code 下载安装:
$ cd /c/code/ReactNative/sourcecode2
$ npm install --save react-native@0.54.4
(5) ReactNativeTool(react-native)下载安装:
$ cd /c/code/ReactNative
$ npm install -g yarnreact-native-cli
2. AndroidStudio向导创建一个名字为ReactNativeDemo的Android工程.
选择Minimum SDK API 16, 选择Empty Activity,其它默认.
3. ReactNativeDemo相关文件修改
C:\code\ReactNativeDemo\settings.gradle
include ':app', ':ReactAndroid'
project(':ReactAndroid').projectDir = new File(rootProject.projectDir, '../ReactNative/sourcecode2/node_modules/react-native/ReactAndroid')
C:\code\ReactNativeDemo\local.properties
#ndk.dir=C\:\\Users\\Win7\\AppData\\Local\\Android\\Sdk\\ndk-bundle
ndk.dir=C\:\\Users\\Win7\\AppData\\Local\\Android\\Sdk\\android-ndk-r10e
sdk.dir=C\:\\Users\\Win7\\AppData\\Local\\Android\\Sdk
C:\code\ReactNativeDemo\build.gradle
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.3'
classpath 'de.undercouch:gradle-download-task:3.1.2'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
jcenter()
maven {
url "https://maven.google.com"
}
}
}
C:\code\ReactNativeDemo\app\build.gradle
android {
compileSdkVersion 26
buildToolsV