常に ~17 MB のリリース APK ファイルを生成する、比較的小さくて単純なアプリケーションがあります。しばらく前に、APK のサイズが (このアプリの場合) 39 MB にまで増加していることに気付きました。その原因となった変更を追跡したところ、minSdkVersion
16 から 26 への変更のみで他の変更を加えていない同じコードベースが APK の増加につながることがわかりました。
奇妙なことは、APK を解凍すると、解凍されたディレクトリがディスク上で最大 40 MB を占めることです。いくつかの変更がありますが、それらはすべて非常に小さなファイルに含まれており、26 バージョンでは一部のレイアウトが欠落しており、無視できます。40 MB の最大の部分は *.so ライブラリを含む lib フォルダーで、合計 37 MB になりますが、両方の APK バージョンで同じです。(アプリケーションは でビルドされた Flutter アプリケーションですflutter build apk --release
。)
私は実際にはminSdkVersion
を 26 にしたくも必要もありません。この変更を元に戻しますが、次の点について非常に興味があります。
- これら 2 つの s の間で劇的なサイズの増加を引き起こした Android の途中で何が変更された
minSdkVersion
のでしょうか? - APK を解凍したとき、どのようにしてほぼ同じサイズになるのでしょうか? ビルド
minSdkVersion
16 のほうが圧縮率がよかったのではないでしょうか? - 展開されたディレクトリのサイズがほぼ同じである場合、サイズの増加は実際にエンド ユーザーにとって問題になりますか? 17 MB と 37 MB をダウンロードする必要がありますか? 26歳向けのアプリ ビルドは
minSdkVersion
、デバイス上でより多くのスペースを占有しますか?