web-dev-qa-db-fra.com

Comment inclure une configuration proguard dans ma Android (AAR)

Les bibliothèques Android, selon la spécification du fichier AAR , incluent un fichier 'proguard.txt'. Ma compréhension est que ce fichier déclare comment la bibliothèque peut être correctement obscurcie et minimisée. Dans mon cas, je dois conserver certaines classes API.

Comment puis-je déclarer le fichier proguard.txt de la bibliothèque dans le build.gradle de la bibliothèque? Et ce fichier sera-t-il lu automatiquement lors de la création d'une application (APK) qui utilise ma bibliothèque?

Je n'ai pas trouvé ces informations dans le Guide de l'utilisateur du plugin Gradle d'Android.

24

Dans la fermeture de configuration par défaut de votre fichier Gradle, spécifiez votre fichier Proguard avec consumerProguardFiles au lieu de proguardFiles. Par exemple:

defaultConfig {
    consumerProguardFiles 'proguard.txt'
}
46
Johan Halin

Si vous créez une bibliothèque, vous pouvez désactiver proguard et fournir un consumerProguardFiles en vous build.gradle qui sera utilisé par un projet consommateur qui le résoudra

Android {
    defaultConfig {
        consumerProguardFiles 'proguard-rules.pro'
    }

    buildTypes {
        release {
            minifyEnabled false
        }
    }
    //...
}

Mais si vous devez activer proguard, par exemple, parce que vous voulez distribuer votre bibliothèque en tant qu'archive - vous pouvez utiliser la possibilité suivante:

Android {

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles 'proguard-rules.pro'
        }
    }
    //...
}
2
yoAlex5