美文网首页
Android-RN混合开发系列(一、Android项目内RN的

Android-RN混合开发系列(一、Android项目内RN的

作者: XJ_crazy | 来源:发表于2019-01-08 21:59 被阅读0次

    首先在开始之前最好先初始化一个RN项目。(对目录有一个大概的了解,对于后续的配置有很大帮助)。
    这时候会发现在RN的根目录下面会有一个android和ios目录,不用怀疑,android目录下面就是一个完整的android项目,我们这里只讨论android项目配置RN,ios项目暂不讨论。
    使用AndroidStudio打开android项目,如下图:

    android目录结构

    这里主要关注两个文件,上图中已经标记出来了。

    1.app模块的build.gradle
    api ('com.facebook.react:react-native:0.55.2') {
        exclude group: 'com.android.support'
    }
    

    可以看到引入了facebook的RN三方库,但是这里有个问题,facebook的公共maven库对于RN的环境库只维护到0.20.1版本,我这里明显是0.55.2版本,理论上是会引入失败的,那这里这么写不是有问题的吗!!

    其实,解决这个问题的代码在项目的build.gradle中,这里提一下,暂不解决,讲到项目的gradle文件的时候会解决。

    上面显示的代码框里的代码跟新初始化的RN项目有一点区别,因为多了一句exclude group: 'com.android.support'

    这是因为我这里的support库与RN的库有了冲突,自己加的,如果你们的项目没有冲突,那不加也没事。

    2.项目的build.gradle
    maven {
          // All of React Native (JS, Android binaries) is installed from npm
          url "$rootDir/../node_modules/react-native/android"
    }
    

    一打开这个文件,学过android的人应该很清楚,这个maven库,竟然是个本地路径,啥情况,这对于开发是多么不友好,如果团队其他人要进行开发,那还必须有这样一个环境咯?作为一个最怕麻烦的程序员,这当然不能啦!!!后面的文章里我会讲解这个问题的,在本篇文章Android项目内RN环境介绍内,只讲基础环境。
    在上面app模块的build.gradle中遗留的问题,解决地方就在这里,这个本地的maven库,打开文件夹可以看到,里面就是一个RN的三方库

    image.png ,所以app模块的build.gradle中的三方库,是从这里加载的。从代码上方的注释也能理解

    All of React Native (JS, Android binaries) is installed from npm
    所有的RN库都是由npm进行安装的

    不信的可以试一下,去掉这个本地库,RN库是安装不成功的。

    讲完了Android内的RN环境,下一节就开始讲如何将RN与我们的Android项目进行拆分了。

    相关文章

      网友评论

          本文标题:Android-RN混合开发系列(一、Android项目内RN的

          本文链接:https://www.haomeiwen.com/subject/mnqmrqtx.html