前言
AndroidX出来有一段时间了,不知道大家有没有跟进Google的脚步。这里引用一下官网对AndroidX的介绍
AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包和发布库以及对其进行版本控制的开源项目。
AndroidX 对原始 Android 支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库。此外,AndroidX 还包括以下功能:
其实AndroidX的诞生就是Google有感于Android Support Libray的混乱状态,因为随着Android版本的一次次更新,support-v4、appcompat-v7的实际作用已经和当初命名的原因对不上了,于是Google对这些API架构进行了一次重新划分,推出了AndroidX。本质上就是对Android Support Library进行的一次升级,AndroidX 1.0.0版本是等效与Android Support Libray 28.0.0版本的,所以迁移前的准工作最好将Android Support Libray更新到28.0.0。前段时间,我也将项目迁移到了AndroidX,这里记录一下相关步骤。
准备工作
- 使用Android Studio 3.2 及更高版本
- 升级compileSdkVersion 28及以上版本
- 项目gradle.properties文件添加android.useAndroidX=true和android.enableJetifier=true
迁移步骤
- 使用 Android Studio 3.2 及更高版本,你只需从菜单栏中依次选择 Refactor > Migrate to AndroidX,即可将现有项目迁移到 AndroidX。
- 使用Android Studio内置的迁移功能可能并不能把一些都处理好,这个时候,Build整个项目,会详细报出哪里有错误,这个时候就需要我们自己根据映射关系,手动修改依赖配置。查看Android Support Libray与AndroidX映射关系
迁移总结
迁移过程中难免会有各种问题出现,特别是大的工程,老的项目,这个时候就需要我们有耐心了,到时候我会收集一些在迁移中遇到的问题,附在文章末尾。