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:
En Android Studio, abre un proyecto de Android.
Cambiar a la vista del proyecto.
Cambia la siguiente línea:
minifyEnable false
aminifyEnable true
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.
- Ir al archivo build.gradle de la aplicación
- habilitar el minifyEnabled true
- habilita shrinkResources true para reducir el tamaño de APK
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