まず第一に、私に提案しないでください 公式ドキュメント または this 。 Android Studioで「helloworld」を表示するだけの事前定義されたテキストビューを使用してアプリを作成すると、1.2 MBを超えるAPKが生成されます。ただし、Playストアの一部のアプリは500KB未満で利用できます。機能。私はすでにAndroid Studioのようなproguard、minifyEnabledなどのすべての機能を適用しましたが、それは役に立ちません。では、どうすればそのレベルの圧縮を達成できますか?
APKサイズを縮小するポイント:
1。ベクトルドローアブルを使用する
2。 xmldrawableを使用して単純なビューを作成します
3。再利用するためにxmlドローアブルを使用して画像を回転します(矢印ボタンの場合など)
4。コードを介してドローアブルを作成する
5。 aaptOptions {cruncherEnabled = false}を使用して画像を圧縮します
6。大きな画像にはwebP形式を使用します
7。列挙を避け、@ IntDefアノテーションを使用します
8。 gradleでshrinkResourcestrueを使用して、未使用のリソースを削除します
9。 gradleでresConfig“ en”を使用して、他のローカリゼーションを削除します
問題は サポートライブラリ にある可能性があります。空のプロジェクトにcom.Android.support:appcompat-v7:27.0.2
を追加すると、APKサイズが80KBから1.3MBに増加しました。したがって、minSDKが十分に高く、ヘルパークラスが必要ない場合は、それを取り除くことができます。
APK Analyzer を使用して、実際にスペースを占めるものを確認できます。
Android studioから新しいプロジェクトを作成すると、IDEはプロジェクトにいくつかの依存関係を自動的に追加します。
dependencies {
// ...
implementation fileTree(dir: 'libs', include: ['*.jar'])
// implementation 'com.Android.support:appcompat-v7:26.1.0'
// implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
// ...
}
support library
とconstraint layout library
をバンドルすると、コードを追加しなくてもリリースAPKサイズが急速に増加します。
サポートライブラリと制約レイアウトライブラリを削除し、すべてのシステムAPIを使用すると、非常に小さなapkを取得できます。
サポートライブラリを削除した後、
Activity
、YourActivity extends Activity
ではなくAppCompatActivity
を使用します
AndroidManifest.xml
のサポートライブラリのテーマは使用しないでください
レイアウトのFrameLayout
を置き換えるにはConstraintLayout
を使用します