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 probé usando Apk_OneClick.v4.2, mi código es completamente fácil de leer:
Por favor, ayúdame. :(
android
android-studio
proguard
Felipe Porge Xavier
fuente
fuente
Respuestas:
Probablemente no esté firmando la versión de lanzamiento del APK a través del asistente de firma. Puede compilar el APK de lanzamiento desde la línea de comando con el comando:
o puede elegir la variante de lanzamiento desde la vista Build Variants y compilarla desde la GUI:
fuente
Puede configurar su archivo build.gradle para la implementación de proguard. Puede ser a nivel de módulo o de proyecto.
La configuración que se muestra es para el nivel de depuración, pero puede escribir sus propios tipos de compilación como se muestra a continuación dentro de buildTypes:
Es mejor tener su depuración con
minifyEnabled false
y productionbuild y otras compilaciones comominifyEnabled 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 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 de Gradle en el panel derecho y busque
assembleRelease/assemble(#your_defined_buildtype)
en las tareas del móduloVaya a Compilar variante en el Panel izquierdo y seleccione la compilación del menú desplegable
Vaya al directorio raíz del proyecto en el Explorador de archivos y abra cmd / terminal y ejecute
Linux
./gradlew assembleRelease or assemble(#your_defined_buildtype)
Ventanas
gradlew assembleRelease or assemble(#your_defined_buildtype)
Puede encontrar apk en el directorio de su módulo / compilación.
Más 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
fuente
NB .: Ahora en lugar de
necesitarás usar
fuente
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(...)
llamada hace referencia a un archivo proguard predeterminado diferente, uno proporcionado por Google y no en su proyecto. Así que elimine esto también, para que aquí el archivo gradle diga:fuente
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 fue un alucinante. Después de generar una versión .apk firmada, se coloca en la
/release
carpeta de su aplicación, pero mi aplicación tenía una apk que no estaba en la/release
carpeta. Por lo tanto, pasé horas descompilando la aplicación incorrecta preguntándome por qué mis cambios de proguard no tenían ningún efecto. ¡Espero que esto ayude a alguien!fuente
Estas son algunas de las reglas de Proguard más comunes que debe agregar en el archivo proguard-rules.pro en Android Sutdio.
Cuchillo de mantequilla
Modernización
OkHttp3
Gson
Ofuscación de código
fuente