AndroidX - Android 扩展库
From 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:appcompatcom.android.support:recyclerview-v7 :androidx.recyclerview:recyclerviewcom.android.support:设计:com.google.android.material:材质
AndroidX 包的完整 Artifact 映射
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
Check @同等 AndroidX 包的库映射.
Check @迁移到AndroidX官方页面
什么是Jetifier?
迁移的错误
- 如果您构建应用程序,并在迁移后发现一些错误,那么您需要修复这些小错误。你不会被困在那里,因为这很容易解决。
- 3rd 方库不会在目录中转换为 AndroidX,但它们会在运行时通过以下方式转换Jetifier,所以不用担心编译时错误,您的应用程序将完美运行。
支持 28.0.0 是最后一个版本吗?
From 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