gpt4 book ai didi

android - AAR 库中的 AndroidManifest.xml 文件总是 "readable"吗?

转载 作者:行者123 更新时间:2023-11-29 01:30:00 28 4
gpt4 key购买 nike

因此,如果您曾经“深入”过 Android APK 存档,您可能知道其中的 list (AndroidManifest.xml 文件)并未存储作为明文,而是以不可读的二进制格式存储。

但今天我注意到,在 AAR 文件(又名:Android 库文件)中, list 没有“编码”,实际上是纯文本格式并且完全可读。

我假设这是为了方便包含在项目中和后续编译?

但我真正的问题是:我可以指望这个吗? 即:我可以指望 AAR 文件中的内容是可读的,而不是在二进制文件中编码的吗APK 存档使用的格式?

我问这个的原因:我有一个自定义的基于 Gradle 的构建系统,它可以扫描并包含基于输入配置的 AAR 库,如果我知道的话,我可以让它变得更简单100% 我可以直接从 AAR 文件中读取 list ,而不必像现在这样使用 aapt 工具解析包。

最佳答案

是的,您可以信赖它。

如果您考虑编码格式包含的内容,您会发现这对于库来说是不合适的。例如,编码格式将文本字符串引用替换为索引号——但只有当您知道与 apk 中所有字符串关联的数字时才能这样做。根据定义,库不是完整的 apk,因此在知道组合资源集之前无法分配给资源项的编号。

如果您查看许多 aar 文件中的 list 文件,您会发现它们包含 AOSP 版权 header 作为 xml 注释。注释是另一条信息,在转换为 apk 中使用的二进制编码格式时会被丢弃,虽然不太会破坏交易,但将此信息保留在库中可能是合法的。

请注意,不仅仅是 AndroidManifest 文件在 aar 文件中保持未编码 - 所有其他 xml 资源文件都保持未编码,原因与上述类似。

关于android - AAR 库中的 AndroidManifest.xml 文件总是 "readable"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31722607/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com