React Native之学习篇六

如果您想要开发新的功能/错误修复程序,尝试使用尚未发布的最新功能,或者使用无法合并到核心的修补程序维护自己的分支,则需要从源代码构建React Native。

先决条件

假设你已经安装了Android SDK,运行android打开Android SDK管理器。

确保你已经安装了以下软件:

1.Android SDK版本23(compileSdkVersion in build.gradle)
2.SDK构建工具版本23.0.1(buildToolsVersion in build.gradle)
3.Android支持库> = 17(Android支持库)
4.Android NDK(下面的下载链接和安装说明)

指点Gradle到你的Android SDK

第1步:通过本地shell设置环境变量。

注意:文件可能因shell而异。 请参阅下面的常见shell例子。

bash:.bash_profile或.bashrc
zsh:.zprofile或.zshrc
ksh:.profile或$ ENV

例:

export ANDROID_SDK=/Users/your_unix_name/android-sdk-macosx

export ANDROID_NDK=/Users/your_unix_name/android-ndk/android-ndk-r10e

第2步:在react-native应用的android目录中创建一个local.properties文件,其内容如下:

例:

sdk.dir=/Users/your_unix_name/android-sdk-macosx

ndk.dir=/Users/your_unix_name/android-ndk/android-ndk-r10e

下载Android NDK的链接

  1. Mac OS (64-bit) - http://dl.google.com/android/repository/android-ndk-r10e-darwin-x86_64.zip
  2. Linux (64-bit) - http://dl.google.com/android/repository/android-ndk-r10e-linux-x86_64.zip
  3. Windows (64-bit) - http://dl.google.com/android/repository/android-ndk-r10e-windows-x86_64.zip
  4. Windows (32-bit) - http://dl.google.com/android/repository/android-ndk-r10e-windows-x86.zip

你可以在 official page找到更详细的内容.

构建源代码

1.安装fork
首先,你需要从fork中安装react-native。 例如,要从官方仓库安装主分支,请运行以下命令:

npm install --save github:facebook/react-native#master

或者,您可以将repo克隆到您的node_modules目录,并在克隆的repo中运行npm install。

2.添加gradle依赖关系
在android / build.gradle中添加gradle-download-task作为依赖:

...

    dependencies {

        classpath 'com.android.tools.build:gradle:1.3.1'

        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

    }

...

3.添加:ReactAndroid项目
在android / settings.gradle中添加:ReactAndroid项目:

...

include ':ReactAndroid'

 

project(':ReactAndroid').projectDir = new File(

    rootProject.projectDir, '../node_modules/react-native/ReactAndroid')

...

修改你的android / app / build.gradle使用:ReactAndroid项目,而不是预编译的库,例如 - 用编译项目(':ReactAndroid')替换compile com.facebook.react:react-native:+':

...

dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])

    compile 'com.android.support:appcompat-v7:23.0.1'

    compile project(':ReactAndroid')

    ...

}

...

4.使第三方模块使用你的fork
如果您使用第三方React Native模块,则需要覆盖它们的依赖关系,以便它们不捆绑预编译的库。 否则编译时会出错 - 错误:包名称为“com.facebook.react”的多个库。

修改你的android / app / build.gradle,并添加:

configurations.all {

    exclude group: 'com.facebook.react', module: 'react-native'

}

从Android Studio构建

从Android Studio的欢迎界面选择“导入项目”并选择你的应用的android文件夹。

您应该可以使用“运行”按钮在设备上运行您的应用程序。 Android Studio不会自动启动打包程序,您需要通过在命令行上运行npm start来启动它。

补充笔记

从源代码构建可能需要很长时间,特别是对于第一个构建,因为它需要下载〜200 MB的构件并编译本地代码。 每次你从你的仓库更新react-native版本时,build目录可能会被删除,所有的文件都会被重新下载。 为了避免这种情况,您可能需要通过编辑〜/ .gradle / init.gradle文件来更改您的编译目录路径:

gradle.projectsLoaded {

    rootProject.allprojects {

        buildDir = "/path/to/build/directory/${rootProject.name}/${project.name}"

    }

}

构建Maven / Nexus部署

如果您发现需要将本地编译的React Native .aar和相关文件推送到远程Nexus存储库,则可以。

首先遵循这个Point Gradle到你的Android SDK部分。 一旦你这样做,假设你已经正确配置了Gradle,那么你可以从React Native签出的根目录运行以下命令来构建和打包所有必需的文件:

./gradlew ReactAndroid:installArchives

这会将通常包含在您的Node_modules / react-native / installation的android目录中的所有内容都包装在您的React Native签出的根目录中。

测试

如果您对React Native进行了更改并提交了拉取请求,则所有测试都将自动在您的拉取请求上运行。 要在本地运行测试,请参阅 Running Tests.

故障排除

ndk-build中的Gradle构建失败。 请参阅上面关于local.properties文件的部分。
 

转载于:https://my.oschina.net/todaybamboo/blog/1608935

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值