压缩APK以减小文件大小

6

你使用过 Google play apk expansion 库吗?另一个选择是 APK Splits,详情请参考 http://tools.android.com/tech-docs/new-build-system/user-guide/apk-splits。 - Madhukar Hebbar
你已经在使用代码压缩和资源缩减了吗? - fractalwrench
@fractalwrench 我只是按照创建APK文件的标准步骤进行操作。使用jarsignerzipalign工具。 - user1995781
你的 APK 为什么这么大?是因为嵌入了视频/音频/高分辨率图片吗?使用了臃肿的库?还是有太多类? - k3b
@k3b 因为我在我的项目中使用了Crosswalk,所以APK文件大约为21MB。如果没有它(Crosswalk),它只会有1-2MB左右。因此,我考虑使用一些压缩方法来使其变小一点。 - user1995781
2个回答

3
简单回答你的问题:是的,使用lzma。
好的,下面是其他一些建议:
  1. 以发布模式构建。这非常重要,因为在调试模式下构建的应用程序大小可能比在发布模式下构建的应用程序大得多。
  2. 压缩您的图像。通常在制作应用程序时,您不会真正关注图像的大小,它们通常往往是尺寸方面的主要问题。只需在像paint.net这样的软件中打开它们,并以较低的质量重新保存即可大有帮助。
  3. 压缩音频文件。将它们加载到Audacity中,并导出为较低质量的MP3。
这些是我的一些小建议。如果您需要apk文件更小,我建议尝试Google

谢谢你的回答。但是如何使用lzma?我只知道创建APK文件的标准过程。 - user1995781
1
调试模式应用程序的大小取决于您在build.gradle中配置的内容。如果您为调试模式和发布模式配置相同的内容,例如 buildTypes { release { minifyEnabled true } debug {minifyEnabled true } },则两个构建apk的大小不会有任何变化。 - Madhukar Hebbar
@user1995781 LZMA是一种算法,我对它并不是很了解。它不是一个程序,也不是我所知道的可以勾选的功能。它似乎更像是压缩你的.apk文件。我建议在谷歌上搜索一下相关信息。 - Daniël van den Berg
@MadhukarHebbar 谢谢。尝试了您的方法后,我的 APK 文件大小从 21MB 减小到了 17MB。 - user1995781
很遗憾,@MadhukarHebbar,在安装压缩的APK之后,应用程序无法正常工作。当运行应用程序时,它会立即退出并显示错误消息。 - user1995781
@user1995781,minify 可以将您的 apk 压缩成较小的大小。您需要根据需要修改 proguard。在 https://github.com/futurice/android-best-practices 上提供了很好的指导。 - Madhukar Hebbar

1
你可能想看看Crosswalk Lite,这是Crosswalk的精简版,功能较少但性能非常出色。
该项目仍没有稳定版本(仍在金丝雀通道),不能像普通Crosswalk一样用于生产。

我认为Crosswalk Lite将是解决像您这样问题的好方法,也许在不久的将来。


谢谢你的回答。我知道Crosswalk Lite。正如你所知,它不像普通的Crosswalk那样稳定和更新。因此,它不是我的主要选择。 - user1995781
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。 - Jaiprakash Soni
谢谢@JaiprakashSoni,我将修改我的答案以包含更多关于Crosswalk Lite的信息。 - code2be
我同意你的看法@user1995781,只是分享了我认为可能有帮助的东西,即使不是在当前时间。 - code2be

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接