minifyenabled - ¿Cómo usar ProGuard en Android Studio?
proguard tutorial (5)
Intente cambiar el nombre de su archivo ''proguard-rules.txt'' a ''proguard-android.txt'' y elimine la referencia a ''proguard-rules.txt'' en su archivo gradle. La getDefaultProguardFile(...)
referencia a un archivo de protección predeterminado diferente, uno provisto por Google y no en su proyecto. Así que elimine esto también, para que aquí el archivo gradle lea:
buildTypes {
release {
runProguard true
proguardFile ''proguard-android.txt''
}
}
Este es mi primer proyecto en Android Studio, y el código de mis aplicaciones no está ofuscado. Estoy usando esta configuración en el archivo build.gradle:
Estoy usando Build> Generate Signed APK ... con Run Proguard marcado. Y, cuando he probado usando Apk_OneClick.v4.2, mi código es completamente fácil de leer:
Por favor, ayúdame. :(
Las otras respuestas aquí son excelentes referencias sobre el uso de Proguard. Sin embargo, no he visto un tema discutido con el que me encontré que era una pérdida de la mente. Después de generar un archivo .apk firmado, se lo coloca en la carpeta /release
en su aplicación, pero mi aplicación tenía un archivo apk que no estaba en la carpeta /release
. Por lo tanto, pasé horas descompilando el apk equivocado preguntándome por qué mis cambios de guardia no tenían ningún efecto. ¡Espero que esto ayude a alguien!
NB .: Ahora en lugar de
runProguard false
necesitarás usar
minifyEnabled false
Probablemente no estés firmando la versión de lanzamiento del APK a través del asistente de firma. Puede construir la versión APK desde la línea de comando con el comando:
./gradlew assembleRelease
o puede elegir la variante de lanzamiento de la vista Variantes de compilación y compilarla desde la GUI:
Puede configurar su archivo build.gradle para la implementación de proguard. Puede ser a nivel de módulo o a nivel de proyecto.
buildTypes {
debug {
minifyEnabled false
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.txt''
}
}
La configuración que se muestra es para el nivel de depuración, pero puede escribir sus propios sabores de compilación como se muestra a continuación dentro de buildTypes:
myproductionbuild{
minifyEnabled true
proguardFiles getDefaultProguardFile(''proguard-android.txt''), ''proguard-rules.txt''
}
Es mejor tener su depuración con minifyEnabled false
y productionbuild y otras compilaciones como minifyEnabled true
.
Copie su archivo proguard-rules.txt en la raíz de su módulo o carpeta de proyecto como
$YOUR_PROJECT_DIR/YoutProject/yourmodule/proguard-rules.txt
Puede cambiar el nombre de su archivo como lo desee. Después de la configuración, use una de las tres opciones disponibles para generar su compilación según el buildType
Vaya a la tarea gradle en el panel derecho y busque
assembleRelease/assemble(#your_defined_buildtype)
en las tareas del móduloVe a Build Variant en el panel izquierdo y selecciona la compilación desde el menú desplegable
Ir al directorio raíz del proyecto en el Explorador de archivos y abrir cmd / terminal y ejecutar
Linux ./gradlew assembleRelease or assemble(#your_defined_buildtype)
Windows gradlew assembleRelease or assemble(#your_defined_buildtype)
Puedes encontrar apk en tu módulo / directorio de compilación.
Más información sobre la configuración y la ubicación de los archivos proguard está disponible en el enlace
http://tools.android.com/tech-docs/new-build-system/user-guide#TOC-Running-ProGuard