我的公司为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 Overview
和Migrating to AndroidX
。