New*_*ser 29 android android-support-library androidx
当我注意到我可以使用两种不同的依赖项时,我正打算在项目中使用约束布局:
com.android.support.constraint:constraint-layout androidx.constraintlayout:constraintlayout这两者之间是否存在差异或哪些建议更可取?
编辑
谷歌正在停止支持com.android.support并提示用户迁移到新的androidx等价物.
注意:随着Android 9.0(API级别28)的发布,有一个名为AndroidX的支持库的新版本,它是Jetpack的一部分.AndroidX库包含现有的支持库,还包括最新的Jetpack组件.
您可以继续使用支持库.历史工件(那些版本为27及更早版本,打包为android.support.*)将继续在Google Maven上提供.但是,所有新的库开发都将在AndroidX库中进行.
我们建议在所有新项目中使用AndroidX库.您还应该考虑将现有项目迁移到AndroidX.
这是官方的迁移指南和相应的库等价物.
小智 27
所有支持库都放弃了v4 v7 v12 v13等标签,所有内容都重构到了androidx软件包中.
它们本质上是相同的但是为了将来的参考,androidx将是我们应该在我们的应用程序中使用的库.
本周出现的Android studio 3.2 canary(2018年5月14日那周)应该有允许自动重构androidx软件包的工具.在谷歌i/o 2018上有一个关于这个的公告.
Sin*_*N75 11
AndroidX和支持库之间的区别之一是,当您使用支持库时,所有支持库必须具有相同的版本,但是在androidX中没有这样的东西。
另一件事是,在支持库中,大多数时候,当您需要在应用程序中使用组件时,您必须添加依赖项,而这些依赖项包含了许多您实际上不需要的东西。但是在AndroidX中,您只能添加所需的依赖项,而不能添加其他依赖项。
这可能会有所帮助,
有以下几点不同:
根据当前的命名约定,尚不清楚哪些软件包与 Android 操作系统捆绑在一起,哪些与您的应用程序的 APK(Android Package Kit)捆绑在一起。为了消除这种混淆,所有未捆绑的库都将移动到 AndroidX 的 androidx.* 命名空间,而 android.* 包层次结构将保留给 Android 操作系统附带的包。例如:android.content.Intent;是否依赖于 Android 操作系统androidx.fragment.app.Fragment;且随 APK 一起提供
最初,每个包的名称表示该包支持的最低 API 级别,例如 support-v4。但是,支持库的 26.0.0 版本将最小 API 增加到 14,因此今天许多包名称与支持的最低 API 级别无关。当 support-v4 和 support-v7 软件包的最低 API 都为 14 时,很容易理解为什么人们会感到困惑!。所以现在有了 AndroidX,就没有 API 级别的依赖了。
| 归档时间: |
|
| 查看次数: |
13961 次 |
| 最近记录: |