AndroidX - Android 扩展库
来自AndroidX 文档
我们正在推出一种新的包结构,以便更清楚地了解哪些包与 Android 操作系统捆绑在一起,哪些包与您的应用的 APK 打包在一起。今后,android.* 包层次结构将保留给操作系统附带的 Android 包。其他包将作为 AndroidX 库的一部分在新的 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
. 这会自动重构所有包。
在迁移之前,强烈建议备份您的项目。
现有项目
- Android Studio > 重构菜单 > 迁移到 AndroidX...
- 它将分析并在底部打开 Refractor 窗口。接受要完成的更改。
新项目
把这些标志放在你的gradle.properties
android.enableJetifier=true
android.useAndroidX=true
检查@Library 映射以获取相等的 AndroidX 包。
查看@Migrate to AndroidX官方页面
迁移的错误
- 如果您构建应用程序,并在迁移后发现一些错误,那么您需要修复这些小错误。你不会被困在那里,因为这很容易解决。
- 3rd 方库不会在目录中转换为 AndroidX,但它们会在运行时由Jetifier转换,所以不用担心编译时错误,您的应用程序将完美运行。
支持 28.0.0 是最后一个版本吗?
来自Android 支持修订版 28.0.0
这将是android.support 打包下的最后一个功能版本,鼓励开发人员迁移到 AndroidX 1.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