【发布时间】:2017-08-26 11:47:31
【问题描述】:
我正在尝试减小我的免安装应用 apk 的大小。我设法将主模块分成几个较小的模块(功能和库)。构建应用程序后,apk 文件的大小(启用缩小):4.9 MB(基本功能)、5 MB(ui 功能 - 活动、片段、接收器等)和 1.3MB(项目详细信息功能)。问题是我不知道我还能从模块中删除什么,因为使用最大尺寸的包是...... com.google.android.gms.internal(下面的屏幕)。
恐怕即使我再拆分这些模块,这个库的问题仍然存在。我真的很接近完成我的应用程序的即时应用程序,但由于文件太大,我无法上传这些文件。谁能知道如何解决这个问题?
【问题讨论】:
-
如果没有看到你的 Proguard 配置,很难给你建议。确保您 1) 启用重新打包 (
-repackageclasses) 并使用短包名称(一个符号左右) 2)去除所有可能的调试属性(例如,默认的 google proguard 配置保留所有注释:-keepattribute *Annotation*,但您可能没有他们也能活)。 3) 没有一些braindead 库或Proguard 配置文件,这会阻止大量代码被proguard 处理。后者尤其重要:手动检查经过保护的 jar 文件并确保将类最小化。 -
看起来您在“基本”和“用户界面”功能中都有 com.google.android.gms.* 的副本。这应该不是必需的,因为在基本功能中定义的任何类或资源都可以从其他功能访问。
标签: android proguard android-proguard android-instant-apps