Proguard es un reductor, optimizador, ofuscador y preverificador de archivos de clase Java gratuito. Detecta y elimina clases, campos, métodos y atributos no utilizados. Optimiza el código de bytes y elimina las instrucciones no utilizadas. Cambia el nombre de las clases, campos y métodos restantes utilizando nombres cortos sin sentido.
Reducción: detecta y elimina clases, campos, métodos y atributos no utilizados.
Optimización: analiza y optimiza el código de bytes de los métodos.
- ¿Cuánto gana un desarrollador novato de Android con sus pequeñas aplicaciones?
- ¿Cómo afectará iOS 7 a los desarrolladores móviles?
- ¿Dónde puedo encontrar la aplicación móvil o el desarrollador de Alexa Skill?
- ¿Por qué es importante la vinculación profunda para mejorar el análisis de aplicaciones móviles?
- API móviles: ¿es mejor devolver un JSON grande o usar varias solicitudes?
Ofuscación: cambia el nombre de las clases, campos y métodos restantes utilizando nombres cortos sin sentido.
¿Por qué Proguard para Android?
Las aplicaciones de Android son bastante fáciles de realizar ingeniería inversa, por lo que si desea evitar que esto suceda, debe usar Proguard para su función principal: Ofuscación. Las otras dos funciones importantes de Proguard son Reducción y Optimización. La reducción elimina los códigos no utilizados y es muy útil. Sin embargo, la optimización funciona con el código de bytes de Java, ya que Android se ejecuta en un código de bytes especial que se convierte del código de bytes de Java, algunas optimizaciones no funcionarán bien.
Beneficios
Proguard ofusca su código al eliminar el código no utilizado y renombrar clases, campos y métodos con nombres semánticamente oscuros que hacen que la base del código sea más pequeña y más eficiente. El resultado es un archivo .apk de menor tamaño que es más difícil de realizar ingeniería inversa.
¿Habilitar Proguard en Android Studio?
Proguard está integrado en el sistema de compilación de Android. Proguard solo se ejecuta cuando compila su aplicación en modo de lanzamiento. Hacer que Proguard se ejecute es completamente opcional, pero muy recomendable.
En el proyecto de Android Studio, la propiedad minifyEnabled en el archivo build.gradle habilita y deshabilita Proguard para versiones de lanzamiento. La propiedad minifyEnabled es parte del bloque de versión buildTypes que controla la configuración aplicada a las versiones de lanzamiento.
Establezca la propiedad minifyEnabled en true para habilitar Proguard.
El método getDefaultProguardFile (‘proguard-android.txt’) obtiene la configuración predeterminada de Proguard de la carpeta de herramientas / proguard de Android SDK.
Android Studio agrega el archivo http://proguard-rules.pro en la raíz del módulo, lo que ayuda a agregar reglas de Proguard personalizadas.
Inconvenientes
La posible configuración incorrecta hace que la aplicación se bloquee.
Se requieren pruebas adicionales
Los Stacktraces son difíciles de leer con nombres de métodos ofuscados.
ClassNotFoundExceptions, que ocurre cuando Proguard elimina una clase completa a la que llama la aplicación.
Podemos arreglar ClassNotFoundExceptions agregando una línea -keep en el archivo de configuración de Proguard.
-tiene clase pública
¡Feliz codificación!
¿Necesitas ayuda?
Somos Perfomatix Nos especializamos en la creación de API y aplicaciones móviles altamente escalables y también tenemos una gran experiencia en aplicaciones de IoT , aplicaciones de realidad virtual y aplicaciones de realidad aumentada . Póngase en contacto con nosotros para descubrir cómo podemos ayudarlo a configurar su idea disruptiva en un prototipo, MVP y finalmente en un producto asesino. Visite nuestra sección de historias de éxito para obtener más información sobre algunas de las nuevas empresas que lo hicieron grande con nosotros. Desea que creemos su próxima aplicación.
Haga un contacto rápido con nuestros expertos aquí [1] .
Notas al pie
[1] ISO 9001: 2015 Empresa de desarrollo de aplicaciones certificada | Perfomatix