5

由于 APK 文件只是一个 Zip 文件,具有不同的扩展名和一些参数,因此似乎有一种方法可以更改文件的压缩级别。

只是为了验证 Eclipse 没有以最高压缩级别导出,我尝试自己打包 APK 的内容,压缩级别设置为通过 winrar,我减少了 20%,
大约 1 MB .

在不删除元数据的情况下,我找不到任何简单的方法来安全地重新打包 APK 。我试过 7zip、aapt、apktool。

4

1 回答 1

3

您可以使用以下 ant 任务重新打包 apk:

<target name="-post-package">
<exec executable="${z7zip}">
  <arg value="x"/>
  <arg value="-o${out.dir}/TempApk"/>
  <arg value="${out.packaged.file}"/>
</exec>
<delete file="${out.packaged.file}" verbose="${verbose}"/>
<exec executable="${z7zip}" dir="${out.dir}/TempApk">
  <arg value="a"/>
  <arg value="-tzip"/>
  <arg value="-mx9"/>
  <arg value="-r"/>
  <arg value="${out.packaged.file}"/>
  <arg value="*.*"/>
</exec>
<delete dir="${out.dir}/TempApk" verbose="${verbose}" />

它使用 7zip。7zip 的路径应该在 local.properties 中:

z7zip=C:\\Program Files\\7-Zip\\7z.exe

它提供了大约 15% 的更好压缩。当然,您可以使用任何其他工具或手动执行这些命令行来重新打包您的 apk。

于 2015-01-13T13:44:11.170 回答