原有Android项目集成RN入坑计(一)

原有Android项目集成RN入坑记(一)

最近进入一家新公司,项目需要接入RN进行重构。因此,开始了RN的入坑之旅,特此记录。(PS:今天发现这篇博客说的有些错误的地方,赶紧过来修补一下,希望没有人因此受到影响,如果已经影响到了,在这里说声抱歉。)

项目背景

由于涉及公司公司,不便多说,只是简单介绍下,主要是关于使用版本的介绍,因为这会影响到后面的集成兼容。

  1. Android SDK 版本 ,targetSdkVersion&compileSdkVersion:26;
  2. BuildTools 版本 ,buildToolsVersion:25.0.2;
  3. Support 控件版本,supportVersion:25.0.1;
  4. Android Studio 版本,3.5;
  5. Gradle 版本,4.4;

其余控件版本也都不是最新版本,未用到JAVA 8,同时也没有兼容JAVA 8,这点也需要注意。因为很多控件的旧版本都不兼容JAVA 8.

RN环境准备

环境准备可以看官方文档,这个最靠谱,不要看别人写的了,会漏东西。链接如下:
英文网:官网地址
中文网:中文网地址

官方文档中只有新建一个RN项目的步骤,原有项目集成的话,在环境准备完毕后做以下操作:

  1. 打开命令行,输入cd “/Android项目的根目录”(进入项目根目录)
  2. npm init 这步是在原项目中初始化RN,输入完后按照提示填写信息,填完后会在根目录下生成一个package.json文件
  3. npm install --save react react-native 完成后会在Android项目中多出一个node_modules文件夹,里面存放了下载好的React 和React Native和根据package.json生成的一些配置
  4. 添加ReactNative依赖到Android项目
    在app的build.gradle引入api
   api "com.facebook.react:react-native:+"

在项目根目录build.gradle添加依赖仓库地址

allprojects {
  repositories {
    maven{ url "$rootDir/node_modules/react-native/android" }
  }
}

为了防止findbugsbug问题,建议在app/build.gradle中增加下面的代码:

android {
    configurations.all {
        resolutionStrategy.force 'com.google.code.findbugs:jsr305:3.0.0'
    }
}

这里需要注意的是,按照上面步骤下来,那么安装的RN版本为最新的0.16.9,查了以下依赖环境,最新版RN已经迁移到androidX了,而上面提到我的版本还是26,support版本还是26,由于support与androidx不能共存,方案只有两个:要么原项目迁移至androidx,要么降低RN的版本。(PS:本人尝试了整整三天的迁移方案,最终放弃了,所以这次先降低RN的版本,降低了0.55.4的版本)

降级方法:在项目根目录下,命令行输入:

npm install --save react-native@0.55.4 

这样就可以了,第一步目标完成:原项目接入了RN,并且编译和运行都不报错,接下来就要HellorlWorld了,下回继续。

参考博客:已有Android项目集成RN

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值