gpt4 book ai didi

添加新库时启用 Android proguard 的 APK 大小会增加

转载 作者:太空狗 更新时间:2023-10-29 14:41:52 25 4
gpt4 key购买 nike

我们的 APK 中有几个依赖库,并启用了 proguard 和 multi dex。 我们有 3 个 dex 文件我们打算使 APK 大小尽可能小。

我们目前正在尝试集成“新广告 SDK”。

在集成时,我们发现在包含依赖库后 APK 的大小异常增加。

库的内存占用量在示例应用程序中约为~280 KB。但是当我们在我们的应用程序中添加相同的依赖项时,我们的 apk 大小增加了 595 KB。他们的proguard规则保留了他们所有的类(class)。

在 android studio 和 classyshark 中使用 APK 分析器进行调试时,我们观察到我们的 dex 文件中其他包和类(如 facebook、google、glide 等)的大小在增加。

但是,它们的方法计数保持不变。这可能只意味着 proguard 压缩被破坏了。因此,APK 大小增加 相当于 280 KB(广告 sdk)+ X [315 KB]我们正在努力消除不必要的 APK 大小增加 315 KB。

如果有任何关于导致规模异常增加的投资线索,我们将不胜感激。

请分享在这种情况下可能有帮助的任何 dex 选项/proguard 优化。

更新:有问题的 SDK 的混淆规则如下所示:

-保持类 com.example.** { *;

-dontwarn com.example.**

谢谢。

最佳答案

我可以从您的帖子中推断出,proguard 中添加的一些规则很可能是新库配置的一部分,导致 facebook、google 等库的代码收缩减少。很难避免 3rd 方 sdk 规则,但是如果您的应用尚未采用,您仍然可以使用其他方法缩小您的 apk。如果您的图形资源仍然使用 PNG,请将它们更改为 webP,这将减少 apk 的大小。

如果作为广告 SDK 的一部分存在,还要检查公共(public)库。在我们的应用程序中看到两个版本的 google play 服务后,我们不得不通过 gradle 配置排除 sdk 依赖项中存在的那个。

关于添加新库时启用 Android proguard 的 APK 大小会增加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46723711/

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