如果我发布的库使用 AndroidX,但使用它的应用程序没有,有什么问题吗?

Any issue if a library I shipped uses AndroidX but the app using it is not?

提问人:Prashant 提问时间:8/20/2019 最后编辑:Gabriele MariottiPrashant 更新时间:8/20/2019 访问量:218

问:

我开发了一个 Android 库,它仍在使用旧的支持库。最近,我的一位用户在将其与他们的应用程序集成时遇到了多个问题,因为他们使用的是 AndroidX 库。

我想知道是否应该迁移到 AndroidX?如果是这样,尚未迁移到 AndroidX 的应用程序是否存在任何兼容性问题?

安卓 android-gradle-plugin android-support-library androidx

评论

0赞 Gabriele Mariotti 8/20/2019
旧的 (??) androidx 还是旧的支持库?
0赞 Prashant 8/20/2019
旧的支持库

答:

5赞 Gabriele Mariotti 8/20/2019 #1

我想知道是否应该迁移到 AndroidX?

是的,你应该。
所有新库(如适用于 Android、Firebase 和 Google Play 服务的 Material 组件)都需要迁移 androidx。
迟早要迁移。

此外,支持库不会更新,这意味着没有修复,没有新功能。在官方文档中,您可以找到:

您可以继续使用支持库。历史工件(版本为 27 及更早版本,打包为 android.support.* 的工件)仍将在 Google Maven 上提供。但是,所有新的库开发都将在 AndroidX 库中进行。

我们建议在所有新项目中使用 AndroidX 库。您还应该考虑将现有项目迁移到 AndroidX。

这里是要迁移的所有信息。

如果是这样,尚未迁移到 AndroidX 的应用程序是否存在任何兼容性问题

是的,您面临的问题与此相同,但无论如何,其他主要库都会发生这种情况。

0赞 Manoj Perumarath 8/20/2019 #2

看到这个

上传 APK 时,它需要满足 Google Play 的目标 API 级别要求。自 2019 年 8 月 1 日起,Google Play 要求新应用至少以 Android 9.0(API 级别 28)为目标平台,并且从 2019 年 11 月 1 日起,应用更新必须以 Android 9.0 为目标平台。在这些日期之前,新应用和应用更新必须至少以 Android 8.0(API 级别 26)为目标平台。

即使您的应用处于较低状态,如果您计划进行更新。然后 Google 会推动您增加您的支持库,这会导致您从支持库迁移到 AndroidX。还有现有的库,它们的作者也将更新到AndroidX。所以没有其他办法,你需要推送到组件。targetVersiontargetVersionandroidx

迁移是安全的,而且过程很简单。如果迁移,则不会有太多代码更改。