我正在阅读有关 Android 的房间库的信息。我看到他们将包 android
更改为 androidx
。我不明白。有人可以解释一下吗?
implementation "androidx.room:room-runtime:$room_version"
annotationProcessor "androidx.room:room-compiler:$room_version"
即使这也适用于 android
包。
implementation "android.arch.persistence.room:runtime:$room_version"
annotationProcessor "android.arch.persistence.room:compiler:$room_version"
- 什么需要在
androidx
而不是android
中打包新的支持库? - 现有项目中的用例和影响因素。
原文由 Khemraj Sharma 发布,翻译遵循 CC BY-SA 4.0 许可协议
AndroidX - Android 扩展库
来自 AndroidX 文档
需要AndroidX
AndroidX 是一个重新设计的库,使包名称更加清晰。因此,从现在开始, android 层次结构将仅适用于 android 操作系统附带的 android 默认类,其他库/依赖项将成为 androidx 的一部分(更有意义)。所以从现在开始,所有的新开发都将在 androidx 中更新。
com.android.support.**: androidx。
com.android.support:appcompat-v7 : androidx.appcompat:appcompat com.android.support:recyclerview-v7 : androidx.recyclerview:recyclerview com.android.support:design : com.google.android.material:material
AndroidX 包的完整工件映射
AndroidX 使用 语义版本
以前,
support library
使用 SDK 版本,但 AndroidX 使用Semantic-version
。它将从 28.0.0 → 1.0.0 重新版本。如何迁移当前项目
在 Android Studio 3.2(2018 年 9 月)中,可以直接选择将现有项目迁移到
AndroidX
。这会自动重构所有包。在迁移之前,强烈建议备份您的项目。
把这些标志放在你的
gradle.properties
检查 @Library 映射以获取相等的 AndroidX 包。
查看 @Migrate to AndroidX官方页面
什么是喷射器?
迁移的错误
支持 28.0.0 是最后一个版本吗?
来自 Android 支持修订版 28.0.0
所以选择 AndroidX,因为 Android 从现在开始只会更新 androidx 包。
延伸阅读
https://developer.android.com/topic/libraries/support-library/androidx-overview
https://android-developers.googleblog.com/2018/05/hello-world-androidx.html