库应该依赖于androidx还是android.support



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

我问的时候要考虑到目标受众。
就我而言,有Jetifier允许AndroidX上的应用程序使用android.support上的库,但需要一些构建时间成本。
但是,使用旧版支持库的应用呢?他们是否有可能依赖基于AndroidX的库使用一些...反杰蒂尔工具?

根据扩展目标 API 级别要求文章,2019 年底将需要针对 api 28,并且可能(我只是推断(在 2020 年底将需要针对 api 29。因此,从技术上讲,具有遗留依赖项的应用程序有可能存活到 2020 年底。
我没有找到任何有关应用程序迁移到AndroidX的统计信息,如果有的话,可以分享吗?

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

我正在撕掉AndroidX并在正在构建的库中恢复到android.support,因为它会导致库的消费者出现问题。我希望情况并非如此,但到目前为止似乎没有另一种方式。

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


./bin/jetifier-standalone -r -i ~/Downloads/jetified.aar -o 反向喷射.aar


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

最新更新