¿El uso de ProGuard vale la pena?
Por lo que he visto y leído, si alguien realmente quiere invertir el ingeniería de su software o descompilarlo, ProGuard no va a detenerlos. ¿Pero es al menos un elemento de disuasión moderado? No estoy seguro si vale la pena la molestia de traducir mis huellas de la pila más adelante.
- Fuente desconocida cuando uso Proguard
- ¿Por qué empezar a usar -libraryjars cuando nunca lo necesitaba antes?
- Uso de Proguard para obfuscar la aplicación Android con las bibliotecas de Dropbox.com
- Error de Proguard, no se puede exportar la aplicación
- Aplicación de bloqueo de Android después de proguard
- Ocultar cadenas en código ofuscado
- Proguard-project.txt no se encuentra en android studio
- Configurar proguard para excluir jar biblioteca que se extiende android.content.Context
- Proguard vs redex por facebook - pros y contras
- Cómo configurar proguard para eliminar SOLAMENTE llamadas de registro de android
- Crash en getDeclaredAnnotation cuando se utiliza Proguard
- Prácticas recomendadas para almacenar claves API privadas en Android
- Habilitar proguard sólo para eliminar el código no utilizado
Yo recomendaría ProGuard. Incluso sin la ofuscación (que puede acortar perceptiblemente los nombres usados en la piscina constante) puede quitar "código muerto" (métodos no utilizados) de las bibliotecas usadas, etc. (También puede ser utilizado para combinar convenientemente todo junto).
Se necesita un poco de tocar el violín para "acertar", especialmente. Si hay clases cargadas dinámicamente – pero muy recomendable. El beneficio real de ahorrar espacio, sin embargo, "depende" de lo que puede ser eliminado y generalmente sube con más bibliotecas externas.
Ahora, para la ofuscación – hace tanto como cualquier obfuscator: Hace "descompilar" el código en cosas con nombres significativos imposible.
Sin embargo, la ofuscación no salvará su algoritmo super-secreto ni ocultará sus claves privadas: si la JVM (o Dalvik después de una transformación) debe entenderlo, también puede hacerlo un descompilador y cualquiera que realmente quiera tener acceso. Su código podría incluso ser levantado en bytecode-forma y utilizado simplemente vía. Reflexión (imagínense una API terrible con cero documentación): cualquier persona que realmente quiera tener acceso puede. Pero tal vez la ofuscación hará que esta tarea sea inviable para el costo / pago: "Depende".
¿No quiere traducir las huellas de la pila? Simple: no utilizarlo para depurar (no es tan útil para obtener trazas de usuarios) o no permitir la ofuscación (otros beneficios siguen aplicándose) 😉
Codificación feliz.
Pro guard es, al menos, lo que le permite tener la aplicación se convierta en lo más pequeño posible sobre el tamaño de archivo!
Eso es una verdadera ventaja.
Se usa automáticamente al desarrollar y compilar con eclipse, siempre que tenga proguard.config=proguard.cfg
al archivo default.properties del proyecto.
Eso también es una verdadera ventaja.
- Cómo crear una barra de progreso circular (gráfico circular) como indicador – Android
- Android (Java) Simple Enviar y recibir con el servidor – Desafío de configuración rápida