AppCompat/Support 26.1.0 中的库与 AndroidX 之间的兼容性



我的公司为Android开发了一个库。目前我们有一个实时版本:

implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support:support-v4:26.1.0'
implementation 'com.android.support:support-core-utils:26.1.0'

以及具有

implementation "com.android.support:cardview-v7:28.0.0"
implementation "com.android.support:appcompat-v7:28.0.0"
implementation "com.android.support:support-core-utils:28.0.0"
implementation "com.android.support:support-compat:28.0.0"
implementation "com.android.support:support-fragment:28.0.0"
implementation "com.android.support:design:28.0.0"

在我们的测试应用中,我们找不到任何问题,但他们在实现中使用了"26.1.0"。另外,我已经在Android的门户网站上搜索了信息,但他们没有太多关于库开发的信息,我能找到的关于迁移到androidX的都是与应用程序开发人员有关的信息。

我的问题是:

推送 28.0.0 更新时,与客户应用程序的兼容性是否存在任何问题?

将整个库迁移到 AndroidX 是否值得?

它会破坏与运行 AppCompat/Support 的应用程序的兼容性吗?

AndroidX 将原始支持库 API 替换为 AndroidX 命名空间。仅包和 Maven 工件名称 改变;类、方法和字段名称未更改。

通常,您可以期望从旧包到新包的以下映射:

Old                         New
android.support.**          androidx.@
android.databinding.**      androidx.databinding.@
android.design.**           com.google.android.material.@

架构组件库也已移至 androidx 下,并简化了它们的包名称,以反映它们与核心库的集成。

注意:我们建议在迁移时在单独的分支中工作。也 尽量避免在执行迁移时重构代码。

阅读AndroidX OverviewMigrating to AndroidX

最新更新