APK压缩级别,缩小尺寸

Kir*_*kov 5 android apk

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

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

我没有找到任何简单的方法来安全地重新包装APK而不删除元数据.我试过7zip,aapt,apktool.

Dmi*_*hin 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}" />
Run Code Online (Sandbox Code Playgroud)

它使用 7zip。7zip 的路径应位于 local.properties 中:

z7zip=C:\\Program Files\\7-Zip\\7z.exe
Run Code Online (Sandbox Code Playgroud)

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