web-dev-qa-db-fra.com

Comment mettre à niveau ProGuard pour Android?

J'ai utilisé Android SDK Manager pour télécharger la dernière version de Android SDK. Mais ProGuard n'a pas été mis à jour et est resté à la version 4.7.

Est-il nécessaire de télécharger manuellement ProGuard depuis son site Web et de le décompresser dans \Android-sdk\tools\proguard?

Ou est-ce que Android SDK utilisera toujours la version 4.7? C'est ainsi depuis 4 ans .

20
activity

De nos jours, ProGuard est une dépendance du Android plugin Gradle, et est généralement mis à jour avec lui. En regardant la sortie de ./gradlew buildEnvironment (pris en charge depuis Gradle 2.1 ) vous verrez quelque chose comme

classpath
+--- com.Android.tools.build:gradle:2.2.3
|    \--- com.Android.tools.build:gradle-core:2.2.3
...
|         +--- net.sf.proguard:proguard-gradle:5.2.1
|         |    \--- net.sf.proguard:proguard-base:5.2.1

Si vous souhaitez utiliser une autre version de ProGuard que celle dont le plug-in Android Gradle dépend, vous pouvez le remplacer comme

buildscript {
    configurations.all {
        resolutionStrategy {
            // We want version 5.3.2 instead of 5.2.1.
            force 'net.sf.proguard:proguard-gradle:5.3.2'
        }
    }
}
34
sschuberth

Modifiez votre build.gradle ainsi:

// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
    ...
    dependencies {
        classpath 'net.sf.proguard:proguard-gradle:6.1.1' // <-- Add this line
        ...
    }
}

Vous n'avez pas besoin de le télécharger manuellement.

3
deej