サーチ…


備考

APKファイルを可能な限り小さくするには、縮小ビルドを有効にして、リリースビルドで未使用のコードとリソースを削除する必要があります。

ProGuardでコードを縮小する

ProGuardを使用してコードを縮小するには、 build.gradleファイルの適切なビルドタイプにminifyEnabled追加します。

android {
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile(‘proguard-android.txt'),
                    'proguard-rules.pro'
        }
    }
}

ここで:

  • minifyEnabled true :コードの縮小を有効にする
  • getDefaultProguardFile('proguard-android.txt')メソッドは、Android SDKからデフォルトのProGuard設定を取得します
  • proguard-rules.proファイルでは、カスタムProGuardルールを追加できます

リソースを縮小する

リソースの縮小を有効にするには、 build.gradleファイルでshrinkResourcesプロパティをtrueに設定します。

android {
    ...

    buildTypes {
        release {
            minifyEnabled true
            shrinkResources true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

リソースの縮小はコードの縮小との関連でのみ機能するため注意を払ってください。

次のように、XMLファイルの作成または破棄を行うリソースをカスタマイズすることができます。

<?xml version=1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools"
    tools:keep="@layout/mylayout,@layout/custom_*"
    tools:discard="@layout/unused" />

このファイルをres/rawフォルダに保存します。

未使用の代替リソースを削除する

すべてのライブラリには、アプリケーションにとって必要ではないリソースが付属しています。たとえば、Google Playサービスには、独自のアプリケーションでサポートされていない言語の翻訳が付属しています。

build.gradleファイルを構成して、保持するリソースを指定することができます。
例えば:

defaultConfig {
    // ...

    resConfigs "en", "de", "it"
    resConfigs "nodpi", "xhdpi", "xxhdpi", "xxxhdpi"
}


Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow