tutorial studio proteger ofuscar minifyenabled fuente encriptar desofuscar codigo java android android-studio

java - studio - proguard tutorial



¿Cómo habilitar la ofuscación de ProGuard en Android Studio? (3)

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

Estoy haciendo esto por los siguientes pasos:

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

  2. Cambiar a la vista del proyecto.

  3. Cambia la siguiente línea:

    minifyEnable false a minifyEnable true

  4. Establecer reglas de ProGuard (opcional)

    4.1 En la Vista del proyecto, seleccione el archivo proguard-rules.pro.

    4.2 Agregue las siguientes líneas para decirle a ProGuard que no ofusque ciertas clases.

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

El error que estoy recibiendo al seguir los pasos son

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


Para habilitar ProGuard en Android Studio.

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

  1. Ir al archivo build.gradle de la aplicación
  2. habilitar el minifyEnabled true
  3. habilita 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 de programación, 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 otras configuraciones están disponibles en estos enlaces:

Para más detalles visita este enlace.


Resolví el problema:

Abra las proguard-rules.pro para su proyecto y agregue esto al final:

-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 resolví esto, intenté ejecutar mi aplicación en modo ''lanzamiento'' y obtuve un montón de errores similares a este tipo aquí: https://github.com/square/okio/issues/144

Bastante seguí lo que dijo y lo arreglé.

Espero que esto pueda ayudar a otros a generar sus APK''s!

Visita más detalles aquí:

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


Si está construyendo el proyecto de Android con Jack, entonces se reducirá automáticamente, la ofuscación, el reenvasado y el multidex. Solo agregue abajo en:

defaultConfig { jackOptions { enabled true } }

y en los tipos de compilación, mencione el archivo de proyecto del proyecto:

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 { ................... } }

Para deshabilitar la ofuscación de ProGuard, es necesario que agregue la línea debajo de su archivo proguard-project.txt

####No obfuscation -dontobfuscate