什么是 AndroidX?

2023-11-29

我正在阅读有关 Android 房间库的内容。我看到他们改变了包裹android to 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?
  • 现有项目中的用例和影响因素。

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 窗口。接受要做的改变。

image

新项目

将这些标志放入您的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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

什么是 AndroidX? 的相关文章

随机推荐