AndroidX 概览

AndroidX

AndroidX 概览

androidx 命名空间中的工件包含 Android Jetpack 库。与支持库一样,androidx 命名空间中的库与 Android 平台分开提供,并向后兼容各个 Android 版本。

AndroidX 对原始 Android 支持库进行了重大改进,后者现在已不再维护。androidx 软件包完全取代了支持库,不仅提供同等的功能,而且提供了新的库。

此外,AndroidX 还包括以下功能:

  • AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头。支持库软件包已映射到对应的 androidx.* 软件包。

  • 与支持库不同,androidx 软件包会单独维护和更新。从版本 1.0.0 开始,androidx 软件包使用严格的语义版本控制。您可以单独更新项目中的各个 AndroidX 库。

  • 版本 28.0.0 是支持库的最后一个版本。我们将不再发布 android.support 库版本。所有新功能都将在 androidx 命名空间中开发。

在项目中使用 androidx 库

如果要在新项目中使用命名空间为 androidx 的库,则需要将编译 SDK 设置为 Android 9.0(API 级别 28)或更高版本,并在 gradle.properties 文件中将以下两个 Android Gradle 插件标记设置为 true。

  • android.useAndroidX:该标记设置为 true 时,Android 插件会使用对应的 AndroidX 库,而非支持库。如果未指定,则该标记默认为 false。
  • android.enableJetifier:该标记设置为 true 时,Android 插件会通过重写其二进制文件来自动迁移现有的第三方库,以使用 AndroidX 依赖项。如果未指定,该标记默认为 false。

迁移到 AndroidX

AndroidX 将原始支持库 API 替换为 androidx 命名空间中的软件包。只有软件包和 Maven 工件名称发生了变化;类、方法和字段名称没有变化。

使用 Android Studio 迁移现有项目

使用 Android Studio 3.2 及更高版本,您只需从菜单栏中依次选择 Refactor > Migrate to AndroidX,即可将现有项目迁移到 AndroidX。

重构命令使用两个标记。默认情况下,这两个标记在 gradle.properties 文件中都设为 true:

  • android.useAndroidX=true
    Android 插件会使用对应的 AndroidX 库而非支持库。

  • android.enableJetifier=true
    Android 插件会通过重写现有第三方库的二进制文件,自动将这些库迁移为使用 AndroidX。

映射

  1. Maven 工件映射
    列出了从旧支持库工件到 androidx 的最新映射。
    在这里插入图片描述
    在这里插入图片描述

  2. 类映射
    列出了从旧支持库软件包到新 androidx 软件包的当前映射关系。

发布了446 篇原创文章 · 获赞 67 · 访问量 24万+

猜你喜欢

转载自blog.csdn.net/hongxue8888/article/details/104686709