安卓proguard启用的APK大小在添加新库时增加



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

我们目前正在尝试集成一个"新的广告SDK"。

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

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

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

然而,他们的方法计数保持不变。这只能意味着proguard压缩正在受到损害。因此,APK大小增加类似于280 KB(ads-sdk)+X[315 KB]我们正在努力消除APK大小不必要的315KB增加

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

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

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

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

-dontwarn.com示例。**

谢谢。

我可以从你的帖子中推断,作为新lib配置的一部分,proguard中添加的一些规则很可能会减少像facebook、谷歌这样的lib的代码收缩。很难避免第三方sdk规则,但如果你的应用程序还没有采用其他方法,你仍然可以使用其他方法缩小你的apk。如果您的图形资源仍然使用PNG,请将其更改为webP,这将减少apk的大小。

如果作为ads-sdk的一部分存在,也要检查公共库。有一次,我们在应用程序中看到了两个版本的谷歌播放服务,我们不得不通过gradle-config排除sdk依赖项中存在的一个。

最新更新