5

APKファイルは、拡張子が異なり、いくつかのメタパラメータを持つ単なるZipファイルであるため、ファイルの圧縮レベルを変更する方法があるようです.

Eclipse が最高の圧縮レベルでエクスポートしていないことを確認するために、winrar 経由で圧縮レベルを設定して自分で APK のコンテンツをパックしようとしましたが、
約 1 MBの 20% の削減が得られました。 .

メタデータを削除せずに 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 に答える