Android转AndroidX

1.遇到的问题

公司项目多,有些事java,有些是kotlin,有些是Android,有些是AndroidX,一些依赖和依赖库的更新使得调用的方法等不同,导致功能同步时效率及极其低下,于是打算把Android项目转成AndroidX。

 

2.为啥转AndroidX?

其实AndroidX并不是什么全新的东西,而是对Android Support Library的一次升级。因此,AndroidX上手起来也没有任何困难的地方,比如之前你经常使用的RecyclerView、ViewPager等等库,在AndroidX中都会有一个对应的版本,只要改一下包名就可以完全无缝使用,用法方面基本上都没有任何的变化。

但是有一点需要注意,AndroidX和Android Support Library中的库是非常不建议混合在一起使用的,因为它们可能会产生很多不兼容的问题。最好的做法是,要么全部使用AndroidX中的库,要么全部使用Android Support Library中的库。

而现在Android团队官方的态度也很明确,未来都会为AndroidX为主,Android Support Library已经不再建议使用,并会慢慢停止维护。另外,从Android Studio 3.4.2开始,我发现新建的项目已经强制勾选使用AndroidX架构了。

为了项目更好的维护和开发,推荐把项目转成AndroidX。

 

3.实操

自从在 Android 3.2 稳定版中就加入了 "Migrate to AndroidX" 选项,方便大家迁移。

是的,一键迁移,简直不要太爽~

1.在 "Refactor" 菜单中找到 "Migrate to AndroidX" 选项

2.点击Migrate开始迁移,backup preject 会把你的项目被分成一个压缩包

3.点击Migrate后,Android Studio就会自动检查你项目中所有使用Android Support Library的地方,这些需要修改的地方他会展示给你,点击Do Refactor后,会将它们全部改成AndroidX中对应的库。

4.如果你要检查你是否全部文件都转成AndroidX了,你可以重复123步骤:

 

转移成功后,你可以看到

1.项目的gradle.properties文件里配置已更改为:

android.useAndroidX=true
android.enableJetifier=true

 2.build.gradle的依赖库:当然这只是一些基础的库,比如,对应Android和AndroidX,有些第三方库的导入的库也不一样,我的项目里glide在同步后就爆红了,更改后就正常了。

implementation 'com.android.support:appcompat-v7:28.0.2' → implementation 'androidx.appcompat:appcompat:1.0.0'
implementation 'com.android.support:design:28.0.2'  → implementation 'com.google.android.material:material:1.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2' → implementation 'androidx.constraintlayout:constraintlayout:1.1.2'
...

3.各个class等文件里的import也进行了更改。

不得不说,这个一件迁移真的很方便,不然真的要改死。

 

如果出现部分迁移错误,请按照谷歌上的映射关系表:https://developer.android.google.cn/jetpack/androidx/migrate/artifact-mappings手动修改依赖和https://developer.android.google.cn/jetpack/androidx/migrate/class-mappings手动修改导包。有些第三方库爆红了可以去看看其源码或者更新日志,一般改下依赖就可以了。
 

参考文章:是时候迁移至 AndroidX 了! 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

&岁月不待人&

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值