Cómo activar la ofuscación de ProGuard en Android Studio?

Tengo que proteger mi aplicación al habilitar la ofuscación Proguard en Android Studio. He buscado el proceso de cómo aplicarlo pero no obtuve ninguna solución clara. Cuando lo intento, siempre tengo un error. ¿Así que alguien puede decirme los pasos claros para aplicarlo en mi aplicación?

Estoy haciendo esto por los siguientes pasos:

  1. En Android Studio, abra un proyecto de Android.

  2. Cambie a la vista del proyecto.

  3. Cambie la línea siguiente:

    minifyEnable false para minifyEnable true

  4. Establecer reglas de ProGuard (opcional)

    4.1 En la vista de proyecto, seleccione el archivo proguard-rules.pro.

    4.2 Añada las siguientes líneas para indicar a ProGuard que no ofusque determinadas clases.

     -keepclassmembers class com.dom925.xxxx { public * } 

El error que estoy siguiendo los pasos es

Error: Error de ejecución para la tarea ': app: packageRelease'. No se puede calcular el hash de D: \ Android \ Pojectname \ app \ build \ intermedios \ clases-proguard \ release \ classes.jar

3 Solutions collect form web for “Cómo activar la ofuscación de ProGuard en Android Studio?”

Resolví el problema:

Abra el proguard-rules.pro para su proyecto y agregue esto al fondo:

 -dontwarn java.nio.file.Files -dontwarn java.nio.file.Path -dontwarn java.nio.file.OpenOption -dontwarn org.codehaus.mojo.animal_sniffer.IgnoreJRERequirement 

Básicamente, cómo lo resolví fue que traté de ejecutar mi aplicación en el modo de 'liberación' y tiene un montón de errores similares a este tipo aquí: https://github.com/square/okio/issues/144

Yo casi seguí lo que dijo y lo arregló.

Espero que esto puede ayudar a otros con la generación de su APK!

Visite más detalles aquí:

Error: Error de ejecución para la tarea ': app: packageRelease'. > No se puede calcular hash de /../AndroidStudioProjects/../classes.jar

Para habilitar ProGuard en Android Studio.

A continuación se muestra cómo habilitar ProGuard predeterminado en Android Studio.

  1. Vaya al archivo build.gradle de la aplicación
  2. Habilitar el minifyEnabled true
  3. Enable shrinkResources true para reducir el tamaño de APK
  4. proguardFiles getDefaultProguardFile('proguard-android.txt') para habilitar el predeterminado. Si desea utilizar su propio archivo proguard, utilice las siguientes reglas.

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

El enlace con la configuración de ProGuard para Android y otros ajustes está disponible en estos enlaces:

  • Archivo predeterminado de ProGuard
  • Síntesis con el ejemplo

Para más detalles, vea este enlace

 if you are building the android project with jack, then it will automatically do the shrinking, obfuscation, repackaging and multidex. Just add below in defaultConfig { jackOptions { enabled true } } and in build types, mention the project proguard file. buildTypes { release { // Jack build environment does not require minifyEnabled or shrinkResources. // Conceptually, the jack compiler consolidates the functionality of javac, ProGuard, and dex in a single conversion step //minifyEnabled = true //shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt' } debug { ................... } } To disable the ProGuard obfuscation, it is required to add below line in your proguard-project.txt file ####No obfuscation -dontobfuscate 
  • Ningún archivo project.properties y NullPointerException durante la creación de la nueva aplicación android
  • ¿Puede el ícono de la aplicación en el cuadro de diálogo Construido en la búsqueda puede hacer clic?
  • ¿Diferencia entre addOnLayoutChangeListener y onLayout (cambiado)?
  • ¿Hay razones para no usar lombok con android studio
  • No se puede obtener la ubicación y el correo electrónico mediante la API de Facebook
  • Android cameraSource.stop () que hace que la aplicación se congele
  • Extraño resultado de análisis de fecha y hora con SimpleDateFormat
  • SetEntity en HttpDelete
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.