迁移到AndroidX指南

278 阅读2分钟

前言

AndroidX出来有一段时间了,不知道大家有没有跟进Google的脚步。这里引用一下官网对AndroidX的介绍

AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包和发布库以及对其进行版本控制的开源项目。

AndroidX 对原始 Android 支持库进行了重大改进。与支持库一样,AndroidX 与 Android 操作系统分开提供,并与各个 Android 版本向后兼容。AndroidX 完全取代了支持库,不仅提供同等的功能,而且提供了新的库。此外,AndroidX 还包括以下功能:

  • AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头。支持库软件包已映射到对应的 androidx.* 软件包。有关所有旧类到新类以及旧编译工件到新编译工件的完整映射,请参阅软件包重构页面。
  • 与支持库不同,AndroidX 软件包会单独维护和更新。从版本 1.0.0 开始,androidx 软件包使用严格的语义版本控制。您可以单独更新项目中的 AndroidX 库。
  • 所有新支持库的开发工作都将在 AndroidX 库中进行。这包括维护原始支持库工件和引入新的 Jetpack 组件。

其实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=trueandroid.enableJetifier=true

迁移步骤

  1. 使用 Android Studio 3.2 及更高版本,你只需从菜单栏中依次选择 Refactor > Migrate to AndroidX,即可将现有项目迁移到 AndroidX。
    在这里插入图片描述
  2. 使用Android Studio内置的迁移功能可能并不能把一些都处理好,这个时候,Build整个项目,会详细报出哪里有错误,这个时候就需要我们自己根据映射关系,手动修改依赖配置。查看Android Support Libray与AndroidX映射关系

迁移总结

迁移过程中难免会有各种问题出现,特别是大的工程,老的项目,这个时候就需要我们有耐心了,到时候我会收集一些在迁移中遇到的问题,附在文章末尾。

参考