升级AndroidX 采坑

升级AndroidX 采坑

先说说我为什么要将项目升级到 AndroidX

1、官方推荐 :会在AndroidX 中加入新特性 ,但不会加入 support 包中,同时也是为了,整合臃肿的 support 包。

2、在升级 gradle 到 3.4.2 之后 项目就默认 是AndroidX了

3、我在新需求中,需要 竖直方向的 ViewPager “ 网上有很多 自定义实现的,效果都不太好 ” ,然后了解到 AndroidX 中的 ViewPager2 支持竖直方向,官方的 能不香吗?

主要还是因为 第三条,我决定 将原有的项目 升级到 AndroidX(项目很大,酸爽~~~)。

开始动手

  • gradle.properties 文件中 加入下面两行代 ()
    
    android.useAndroidX=true    表示允许升级 AndroidX
    android.enableJetifier=true   表示依赖包升级到 AndroidX
    
  • gradle-wrapper.properties 中 升级到 4.6 以上

    distributionUrl=https\://services.gradle.org/distributions/gradle-5.1.1-all.zip
    
  • Prject 的 build.gradle 中 classPath 3.2 以上

    dependencies {  classpath 'com.android.tools.build:gradle:3.2.0' }
    
  • 将项目中 所有的support 包 手动 换到 28 以上 如:

    implementation 'com.android.support:appcompat-v7:28.0.0'
    
  • 有的依赖包 也需要同步 比如 :

    Glide 4.8以上:   'com.github.bumptech.glide:glide:4.8.0'
    
  • 最后一步:如图 右键项目名称 —> Refactor —> Migrate to Androix

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jS1P0Osv-1578467127068)(C:\Users\00\AppData\Roaming\Typora\typora-user-images\1578465547921.png)]

这时 AS 会提示你需不需要备份,最好是备一份,万一升级不成功呢 是吧 哈哈!,按照步骤来应该是没问题的!相信俺!

就会发现,原先的Support 包 都变成了 AndroidX 包了 。

如果之前,引入过CardView 这样的包 ,可以按照下面地址 替换成对应 AndroidX 包

新旧包名对比

最后结果会分为两种情况

一 、项目就可以正常运行了

二 、项目中的组件,引入的包名都不能用了,需要手动替换 (替换了一上午55555!)

两种情况我都遇到过,希望你是第一种,祝你好运

发布了26 篇原创文章 · 获赞 6 · 访问量 7779

猜你喜欢

转载自blog.csdn.net/weixin_37558974/article/details/103891718
今日推荐