项目迁移AndroidX

什么是AndroidX

简单地说就是新的库可以在不同的Android版本上使用。比如之前我们如果使用support为27.1.1的相关依赖库时。可能需要所有相关的support 库都为27.1.1。如果其中有bug的话,可能需要所有的都去升级,存在一个绑定关系,而且正式版的发布周期也很长。

通过AndroidX,我们可以看到实时实现的特性和bug修复。升级个别依赖,不需要对使用的所有其他库进行更新。这就和我们使用Github上的开源库一样的,出了问题,我们可以提出bug和意见。作者修复后,发布新版本,我们就可以直接替换使用了。更加的透明便捷。

从包的内容来看,最大变动就是 将一些UI或其他组件分离了出来,职责分明,以减轻不使用ProGuard 或 Multidex的应用程序和测试的压力。

怎样迁移

1.简单说就是 变成
例如
implementation ‘com.android.support:appcompat-v7:28.0.0-beta1’
变成
implementation ‘androidx.appcompat:appcompat:1.0.0-beta01’

2.迁移前提
首先你的gradle版本至少为3.2.0以上,以及compileSdkVersion为28以上,最后 Android Studio 在 3.2之后。

3.Android Studio 中一键迁移
菜单栏 Refactor -> Migrate to AndroidX

4.已迁移了androidx的第三方库有
1)butterknife
2)glide
…持续更新…

建议

如果是一个新项目,使用AndroidX相关依赖,需要在gradle.properties文件里添加配置:

android.useAndroidX=true
android.enableJetifier=true

如果是以前的项目,你想使用AndroidX,但是之前的不迁移,可以这样配置:

android.useAndroidX=true
android.enableJetifier=false

迁移的好处

解决当前SDK,工具,第三方库 等升级导致的一些厂家的编译错误
比如,下面一些错误迁移后就OK 了:

  1. Manifest merger failed : Attribute application@appComponentFactory value=(android.support.v4.app.CoreComponentFactory) from [com.android.support:support-compat:28.0.0]

…持续更新…

附1

  1. butterknife最新的10.0.0开始引入androidx,已经不支持老版库,如果需要使用,只能使用9.0.0这版
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值