【问题标题】:Should library depend on androidx or android.support库应该依赖于 androidx 还是 android.support
【发布时间】:2019-03-30 09:00:38
【问题描述】:

我正在编写依赖于生命周期工件的 android 库,问题是:我的库应该依赖于该工件的 AndroidX 版本还是旧版 android.suport 版本?

我问的是目标受众。
就我而言,有 Jetifier 允许 AndroidX 上的应用程序使用 android.support 上的库,但需要一些构建时间成本。
但是使用遗留支持库的应用程序呢?他们是否有可能使用一些... anti-jetier 工具来依赖基于 AndroidX 的库?

根据expanding target api level requirements 文章,在 2019 年底将需要针对 api 28,并且可能(我只是推断)在 2020 年底将需要针对 api 29。因此,从技术上讲,应用程序是可能的遗留依赖项可以生存到 2020 年底。
我没有找到任何关于应用迁移到 AndroidX 的统计数据,如果有的话可以分享一下吗?

【问题讨论】:

    标签: android androidx android-jetpack


    【解决方案1】:

    我也在建一个图书馆。不幸的是,我还没有找到一个可接受的解决方案来解决发布依赖于 AndroidX 的库并将其实现到仍然依赖于 android.support 的项目中的问题。

    我正在删除 AndroidX 并在正在构建的库中恢复到 android.support,因为它会导致库的使用者出现问题。我希望不是这样,但截至今天似乎没有其他方法。

    【讨论】:

      【解决方案2】:

      您可以手动使用 jetifier 来反转 jetify。 我能够使用https://dl.google.com/dl/android/studio/jetifier-zips/1.0.0-beta04/jetifier-standalone.zip 的源代码手动获取aar,将其反向喷射。虽然,我不认为这可以集成到 CI 服务器中,但这是一个临时的解决方法,直到 google 添加对反向 jetify 的支持。


      ./bin/jetifier-standalone -r -i ~/Downloads/jetified.aar -o reversejetified.aar


      感谢https://ncorti.com/blog/jetifier-reverse

      【讨论】:

      • 哇,看起来很有希望,谢谢。我选择迁移,因此在不久的将来可能不会测试反向喷射器。
      猜你喜欢
      • 1970-01-01
      • 2019-12-16
      • 1970-01-01
      • 2019-03-02
      • 2019-11-04
      • 1970-01-01
      • 1970-01-01
      • 2019-04-06
      • 2021-08-29
      相关资源
      最近更新 更多