首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

AndroidStudio 一键迁移至 AndroidX

在上篇文章 《关于 MVPArms 兼容 AndroidX 的问题》 中,我犯了一个致命的错误。

我没升级 AndroidStudio 到最新版,

是的,

我的 AndroidStudio 还是 v3.1(刚刚看了下最新版已经 v3.4 了。。。)。

这让我对 AndroidStudio 更新的一些新功能不知情,所以导致了在上篇文章中,描述的两个原因,都不是完全正确的,也可以说是,在 v3.1 的时代可能是正确的,但是在 v3.2 后就不适用了。

当时我已经在评论中作出了更正,但我怕很多人没看到评论的内容,所以我今天就再写一篇文章,更正一下之前的问题和观点。

这里要感谢小白龙(Github:https://github.com/xiaobailong24)同学的提醒和指正,另外给大家说声抱歉,也欢迎大家在以后的文章中,也能及时的指出文章中存在的问题和缺陷,大家相互学习,共同进步。

更正第一个原因

我在上篇文章,MVPArms 不立即兼容 AndroidX 的第一个原因中说,仍然有大量的项目没有迁移至 AndroidX,他们不迁移的原因是工作量太大,但在 AndroidStudio v3.2 以后,这个工作量不复存在。

我们可以通过在 AndroidStudio 的菜单栏中选择Refactor > Migrate to AndroidX,来将一个项目一键快速迁移至 AndroidX。

更正第二个原因

同样在 AndroidStudio v3.2 以后,不需要将依赖的所有三方库都迁移至 AndroidX,AndroidStudio 可以在编译期使用 Jetifier 修改字节码,来达到将 AAR 强制迁移至 AndroidX 的目的。

只需要在gradle.properties文件中加入以下代码即可。

所以,你依赖的三方库中,不管有多少个还在使用 Support 包,都没关系,只要加上以上代码,AndroidStudio 就能自动完成所有迁移的工作。

但有一点需要注意,如果在三方库中,对 Support 包使用了强依赖,比如反射,这时就会出错。

总结

三方库使用 Support,反而是兼容性最强的方式。

因为不管开发者的项目使用的是 AndroidX,还是 Support 都可以完美兼容。

但是如果三方库使用的是 AndroidX,就只有使用 AndroidX 的项目能够依赖这个三方库,而当使用 Support 的老项目依赖这个三方库时,就会报错。

所以 MVPArms 为了不影响,还在使用 Support 的大量老项目的正常使用,暂时还没有迁移至 AndroidX 的打算。

但这对你们的项目没有任何影响,只要你们想,你们可以随时将自己的项目迁移至 AndroidX,迁移后,只需要保证自己的 AndroidStudio 版本在 v3.2 以上,再按照上文中的操作,就可以兼容使用 Support 的三方库。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20210203A0AOFR00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券