para - uptodown android
¿Debo usar ProGuard? (4)
Es bastante fácil aplicar ingeniería inversa a las aplicaciones de Android, por lo tanto, si quiere evitar que esto suceda, sí, debería usar ProGuard para su función principal: ofuscación .
ProGuard también tiene otras dos funciones importantes: la reducción que elimina el código no utilizado y, obviamente, es muy útil y también la optimización . Sin embargo, la optimización opera con el bytecode de Java, y como Android se ejecuta en el bytecode Dalvik que se convierte a partir del código de byte de Java, algunas optimizaciones no funcionarán tan bien. Así que debes tener cuidado allí.
Hay instrucciones sobre cómo usar proguard en el sitio web de Android. Lo principal que debes verificar es que tienes la línea
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
en su archivo project.properties
. Como mencionó que usa Android Studio y no tiene este archivo, pero se le pregunta acerca del archivo de configuración, intente seleccionar el que está en el SDK de Android ( tools/proguard/proguard-android.txt
).
Quiero generar APK firmado en Android Studio y me ofrece una opción para ejecutar ProGuard. Me pide que proporcione la ruta del archivo de configuración, pero no tengo el archivo de configuración. ¿Cómo crear uno? ¿Debo usar ProGuard? ¿Puede usted y es fácil descomprimir el archivo APK que no utiliza ProGuard?
EDIT: Gracias por sus respuestas, pero no puedo encontrar el archivo proguard.cfg en ninguna parte. Solo el archivo de propiedades que tengo en el directorio raíz del proyecto es el archivo local.properties y cuando lo abro en Android Studio obtuve esto:
# This file is automatically generated by Android Studio.
# Do not modify this file -- YOUR CHANGES WILL BE ERASED!
#
# This file must *NOT* be checked into Version Control Systems,
# as it contains information specific to your local configuration.
# Location of the SDK. This is only used by Gradle.
# For customization when using a Version Control System, please read the
# header note.
sdk.dir=C:/.../...
Es opcional usar ProGuard, y si lo usas o no, es bastante fácil desempaquetar la apk y obtener tus recursos (gráficos y otros recursos). Si no usa ProGuard, el código de la aplicación también se puede reconstruir con bastante facilidad, con ProGuard se vuelve muy difícil y engorroso tratar de entender qué sucede dónde (aunque no es imposible, dado el tiempo y el esfuerzo suficientes).
Tenga cuidado de probar su aplicación a fondo también después de ofuscarla, ya que ES un cambio en la aplicación y, a veces, pueden suceder cosas no deseadas, especialmente si están utilizando mucho la reflexión.
Tener ProGuard es completamente opcional, pero muy recomendable.
Puede encontrar todo lo que necesita aquí: http://developer.android.com/tools/help/proguard.html
También puede eliminar la siguiente línea del archivo default.properties en su carpeta raíz del proyecto:
proguard.config = proguard.cfg
Un caso importante para hacer ofuscación de ProGuard es que, algunos malos desempaquetan la aplicación e inyectan / reemplazan el módulo de compra por el de ellos . No podemos esperar que todos los usuarios descarguen apk solo desde Play Store, y los usuarios pueden ser robados de su cuenta de compra.