RN升级篇(五):版本升级从0.57.5升级到0.62.2遇到的Android错误以及RN插件错误

前两篇文章已经记录部分错误日志信息,从0.57.5升级到0.62.2;

由于项目原因,需要进行项目重构,现在的0.57.5版本已经不能满足于项目需求;

期间升级也遇到了许多的坑,只能说对于AndroidStudio以及RN的兼容性还不是太友好

由于0.62.2升级后已经支持androidx特性,对于项目中的v4、v7特性已经不在支持,这简直是干(丧)的(心0漂(病)亮(狂);

因为项目比较大,可以说是很大很大¥¥¥……%#¥#%¥,只能手动修改每一处报错信息:

好了,正文开始:

1、Android原生准备工作:

第一步:配置gradle版本相关信息:

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

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

第二步:项目v4、v7包资源替换

修改项目中所有涉及到的v4、v7包引用及其他系统控件,这里比较多,会比较繁琐,根据错误日志慢慢修改;
例如如下报错信息:多么经典啊---重新引入Androidx

第三步:更新package.json三方插件:

更新package.json中RN版本信息0.62.2;并逐步更新对应的其他RN三方插件以兼容Androidx

 

RN服务错误记录:

 

1、@babel/runtime错误日志

  • 解决方案:npm install @babel/runtime@7.0.0-beta.46 --save-dev

2、RNCViewPager错误信息:

解决方案:由于react-native-scrollable-tab-view三方插件不支持最新版组件特性,需要替换该插件资源,新增如下插件:"@react-native-community/viewpager": "^4.1.0",并进行link;Android原生配置:
setting.gradle设置添加:

include ':@react-native-community_viewpager'
project(':@react-native-community_viewpager').projectDir = new File(rootProject.projectDir, '../node_modules/@react-native-community/viewpager/android')

Android/app/build.gradle中添加:

compile project(path: ':@react-native-community_viewpager')

MainApplication中新增:new RNCViewPagerPackage()

3、提示报错信息:@react-native-community/geolocation

解决方案:

"@react-native-community/geolocation": "^2.0.2",

并进行link;如link失败,手动配置settings.gradle以及主moudle下build.gradle;并在application中引入

new GeolocationPackage()

4、0.62.2版本不在支持RCTDeviceEventEmitter:将RCTDeviceEventEmitter替换为DeviceEventEmitter,并删除原有RCTDeviceEventEmitter;报错信息如下:

5、新版RN0.62.2核心组件webview不在支持,提示报如下信息:

解决方案:npm install --save react-native-webview

将文中所有的WebView引用全部替换:import { WebView } from 'react-native-webview';

由于时间原因,暂时更新到这里,后续再一一进行添加整理;欢迎讨论

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值