2017-09-22 12 views
0

私はユニティゲームでいくつかのテストを行っており、APKがZlibではなくLZ4で圧縮されていればゲームを半分に圧縮できるようです。なぜAndroidはLZ4/LZMAでAPKを圧縮していませんか?

AndroidがLZ4を使用していない理由はありますか?

iOSは、LZ4を使用して圧縮した場合、おおよそ同じサイズで使用すると思います。

答えて

1

私は最も簡単な答えは、彼らが必要としていないと思う。 LZ4はかなり印象的ですが、古いデバイスとの下位互換性を維持するためにAndroidチームが残しておいたと思います。 Androidは広く使われていた圧縮アルゴリズムを探していたため、Zlibは2005年に元に戻り、特許やライセンスの制限はありませんでした。それは2011年にLZ4がリリースされてから約6年前のことです.LZMAは1998年頃に長引いており、Andy Rubin自身に尋ねなければならないAndroidを使用しなかった理由があります。

+0

もう1つのポイントは、APKは別の接尾辞を持つJava JAR形式で、これはZipファイル形式です。 Zip形式に追加の圧縮アルゴリズムが追加されていますが、Androidのオリジナルリリース時のJARツールが標準のZlibで圧縮されていないと正しく動作するかどうかはわかりません。 –

2

最も合理的な答えはライセンスのためです。 wikipediaから ジップライセンス:.ZIPファイル形式は(wikipediaから)LZMAのライセンスに反して1989年

でパブリックドメインにリリースされた

LZMAの実装では、抽出されました7-ZipからLZMA SDKとして入手できます。 元はGNU LGPLとCommon Public License [13]の両方で二重ライセンスされていましたが、リンクされた バイナリの特別な例外が追加されましたが、イゴールパブロフのパブリックドメインには 2008年12月2日バージョン4.62のリリース。

+0

iOSでLZMA/LZ4を使用していませんか? – mikeysee

関連する問題