¿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.
- Problema con proguardFile, null devuelto: 1
- Android form build: proguard no puede encontrar el método de referencia en la clase ViewConfigurationCompatFroyo
- Android Proguard con tarro externo
- Exportar aplicación de Android con ProGuard da error de ParseException
- Android proguard error com.google.ads.util.i: y setMediaPlaybackRequiresUserGesture (booleano)
- Siempre ejecutando proguard antes de Android dex'ing en Eclipse
- Quitar la biblioteca externa de clases obfuscated.jar (en Android Studio / Gradle)
- AppCompat V7 falla al usar shrinkResources
- Proguard warning biblioteca clase android.webkit.WebView depende de la clase del programa android.webkit.WebViewClien
- Cómo ocultar clases públicas en la biblioteca Jar usando ProGuard (o cualquier otra forma)?
- Uso de Proguard con Android sin ofuscación
- Cómo incluir una configuración proguard en mi biblioteca de Android (AAR)
- Android studio, donde está el archivo de mapeado proguard
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