当使用 AndroidX 库构建 APK 时,我会得到很多小文本文件,例如META-INF/androidx.core_core.version
。这些文件的目的是什么?它们是如何使用的androidx?
我最近也很好奇,所以浏览了一下源代码。
版本信息注入的第一次尝试是here;它是通过在 AndroidManifest.xml 中添加元数据标签来实现的。
然后来了一对(1, 2)的提交添加了一个任务(到 Gradle 插件中,在许多/所有? androidx 库之间共享),其唯一目的是生成 *.version 文件。这种方法取代了早期的元数据标签注入,原因是(来自提交消息):
以前的支持库通过添加元数据标签来跟踪其使用情况
对于每个库,但这会给某些库带来问题,例如
包中的服务和元数据的成本很高
经理。
要解决此问题,请转至在 java 中存储版本信息
jar META-INF/group_name.version 内的资源。
然而,这并没有回答问题 - 因为这些提交都没有提到将版本信息存储在 androidx 库中的原因。
我也尝试过搜索 *.version 用法在 androidx 代码库中,但不幸的是找不到任何有趣的东西。
最终,*.version生成任务的作者很友善地透露了一些信息关于他们的目的:
它们的主要目的是让我们能够跟踪哪些版本
Play 商店中的应用程序正在使用 的 androidx 库或
当有人提交失败的重现 APK 时。我们最近也开始了
在工作室端使用组合检查工具来检测什么
考虑到库版本,功能应该可用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)