Sök…


Anmärkningar

För att göra din APK-fil så liten som möjligt bör du aktivera krympning för att ta bort oanvänd kod och resurser i din release-version.

Krympa koden med ProGuard

För att aktivera kod som krymper med ProGuard, lägger du till minifyEnabled true till lämplig build.gradle i din build.gradle fil.

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

var:

  • minifyEnabled true : aktivera krympning av kod
  • getDefaultProguardFile('proguard-android.txt') får standard ProGuard-inställningarna från Android SDK
  • proguard-rules.pro är där du kan lägga till anpassade ProGuard-regler

Krymp resurserna

För att aktivera krympning av resurser ställer shrinkResources egenskapen shrinkResources till true i din build.gradle fil.

android {
    ...

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

Var uppmärksam eftersom krympning av resurser bara fungerar i samband med kodkrympning .

Du kan anpassa vilka resurser som ska behållas eller kasseras för att skapa en XML-fil så här:

<?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" />

Spara den här filen i mappen res/raw .

Ta bort oanvända alternativa resurser

Alla bibliotek har resurser som inte är nödvändiga för din applikation. Till exempel kommer Google Play Services med översättningar för språk som din egen applikation inte ens stöder.

Du kan konfigurera build.gradle-filen för att ange vilken resurs du vill behålla.
Till exempel:

defaultConfig {
    // ...

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


Modified text is an extract of the original Stack Overflow Documentation
Licensierat under CC BY-SA 3.0
Inte anslutet till Stack Overflow