Google 推出了新的 Android 扩展库 (AndroidX) 的早期预览版,它基本上是根据其文档对现有 android 支持库和架构包的新替代。
android
但是这些和androidx
包之间的实际区别是什么。这两个包的正确用例以及我们如何将现有的 android 包转换为 androidx 包。哪些包/库支持这些转换?
AndroidX 基本上是谷歌对其包结构的一次重大重构。他们更改了许多类的位置,以便更清楚哪些类与系统捆绑在一起,哪些不捆绑。
正如他们的文档所述:
我们正在推出一种新的包结构,以便更清楚地了解哪些包与 Android 操作系统捆绑在一起,哪些包与您的应用的 APK 打包在一起。展望未来,
android.*
包层次结构将保留给操作系统附带的 Android 包;其他包将在新的androidx.*
包层次结构中发布。
最高版本 28 的旧支持库将保持原样可用,但新版本的支持库将在 AndroidX 包重构下发布,从版本 1.0.0 开始。
此外,从他们的重构列表中获取:
只有包和 Maven 工件名称受到影响;类、方法和字段名称没有改变。
换句话说,他们只是在组织他们的库。您可以在他们的博客文章中阅读更多相关信息。
AndroidX 是 Android 团队用于在 Jetpack 中开发、测试、打包、版本和发布库的开源项目。
AndroidX 是对原始 Android 支持库的重大改进。与支持库一样,AndroidX 与 Android 操作系统分开发布,并提供跨 Android 版本的向后兼容性。AndroidX 通过提供功能奇偶校验和新库完全取代了支持库。此外,AndroidX 还包括以下功能:
AndroidX 中的所有包都位于以字符串 androidx 开头的一致命名空间中。支持库包已映射到相应的 androidx.* 包中。有关所有旧类和构建工件到新类的完整映射,请参阅包重构页面。与支持库不同,AndroidX 包是单独维护和更新的。androidxpackages 从版本 1.0.0 开始使用严格的语义版本控制。您可以独立更新项目中的 AndroidX 库。所有新的支持库开发都将在 AndroidX 库中进行。这包括维护原始支持库工件和引入新的 Jetpack 组件。
资料来源:AndroidX 概述