Ricerca…


Osservazioni

Per rendere il file APK il più piccolo possibile, è necessario abilitare la riduzione per rimuovere il codice e le risorse inutilizzati nella build di rilascio.

Riduci il codice con ProGuard

Per abilitare la riduzione del codice con ProGuard, aggiungi minifyEnabled true al tipo di build appropriato nel tuo file build.gradle .

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

dove:

  • minifyEnabled true : abilita la riduzione del codice
  • Il metodo getDefaultProguardFile('proguard-android.txt') ottiene le impostazioni predefinite di ProGuard getDefaultProguardFile('proguard-android.txt') Android
  • Il file proguard-rules.pro è dove puoi aggiungere regole ProGuard personalizzate

Riduci le risorse

Per abilitare la riduzione delle risorse, impostare la proprietà shrinkResources su true nel file build.gradle .

android {
    ...

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

Fai attenzione perché il restringimento delle risorse funziona solo in combinazione con la riduzione del codice .

Puoi personalizzare quali risorse tenere o scartare creando un file XML come questo:

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

Salva questo file nella cartella res/raw .

Rimuovi risorse alternative non utilizzate

Tutte le librerie vengono fornite con risorse che non sono necessarie per la tua applicazione. Ad esempio, Google Play Services include traduzioni per lingue che la tua applicazione non supporta nemmeno.

È possibile configurare il file build.gradle per specificare la risorsa che si desidera conservare.
Per esempio:

defaultConfig {
    // ...

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


Modified text is an extract of the original Stack Overflow Documentation
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow