androidx和android的区别,Android X 详解

什么是Android X

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

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

AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头。支持库软件包已映射到对应的 androidx.* 软件包。有关所有旧类到新类以及旧编译工件到新编译工件的完整映射,请参阅软件包重构页面。

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

所有新支持库的开发工作都将在 AndroidX 库中进行。这包括维护原始支持库工件和引入新的 Jetpack 组件。

怎么使用 AndroidX

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

注意:我们建议迁移时在单独的分支中工作。此外,还应设法避免在执行迁移时重构代码。

前提条件

迁移之前,请先将您的应用更新到最新版本。我们建议您更新项目以使用支持库的最终版本:版本 28.0.0。这是因为,1.0.0 版本的 AndroidX 工件是与支持库 28.0.0 工件等效的二进制文件。

使用 Android Studio 迁移现有项目

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

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

android.useAndroidX=true

Android 插件会使用对应的 AndroidX 库(而非支持库)。

android.enableJetifier=true

Android 插件会通过重写其二进制文件来自动迁移现有的第三方库以使用 AndroidX。

注意:内置的 Android Studio 迁移功能可能并不是一切都能处理。根据您的编译配置,您可能需要手动更新编译脚本和 Proguard 映射。例如,如果您在一个单独的编译文件中维护依赖项配置,请使用下面提到的映射文件来检查依赖项并将其更新为对应的 AndroidX 软件包。

常见问题:

1. 资源找不到,包路径有问题。

eg: android.support.v4.media.app.NotificationCompat.MediaStyle() 在androidX下就变成了androidx.media.app.NotificationCompat.MediaStyle()

2. 运行时会报布局文件错误, 往往是包路径变化了,此时就可以去官方API查看对应的控件具体路径了。比如说 TabLayout 控件

9810bac5d154

结语:  好的东西,晚切换不如早切换,迟早要切换不如提前面对。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值