Buscar..


Observaciones

Para hacer que su archivo APK sea lo más pequeño posible, debe habilitar la reducción para eliminar el código y los recursos no utilizados en su versión de lanzamiento.

Reducir el código con ProGuard

Para habilitar la reducción de código con ProGuard, agregue minifyEnabled true al tipo de compilación apropiado en su archivo build.gradle .

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

dónde:

  • minifyEnabled true : habilita la reducción de código
  • El getDefaultProguardFile('proguard-android.txt') obtiene la configuración predeterminada de ProGuard desde el SDK de Android
  • El archivo proguard-rules.pro es donde puede agregar reglas personalizadas de ProGuard

Reducir los recursos

Para habilitar la reducción de recursos, establezca la propiedad shrinkResources en true en su archivo build.gradle .

android {
    ...

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

Preste atención porque la reducción de recursos solo funciona junto con la reducción de código .

Puede personalizar qué recursos mantener o descartar creando un archivo XML como este:

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

Guarde este archivo en res/raw carpeta res/raw .

Eliminar recursos alternativos no utilizados

Todas las bibliotecas vienen con recursos que no son necesarios para su aplicación. Por ejemplo, Google Play Services incluye traducciones para los idiomas que su propia aplicación ni siquiera admite.

Puede configurar el archivo build.gradle para especificar qué recurso desea conservar.
Por ejemplo:

defaultConfig {
    // ...

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


Modified text is an extract of the original Stack Overflow Documentation
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow