Skip to content
Home » Encriptar el código fuente en las aplicaciones Android, usando Cordova

Encriptar el código fuente en las aplicaciones Android, usando Cordova

Mucho han cambiado las cosas a la hora de publicar una app en la Google Play. Hace años para encriptar una app híbrida lo común, era utilizar un plugin:

https://github.com/tkyaji/cordova-plugin-crypt-file

Luego se pasó a utilizar ProGuard.

ProGuard es una herramienta de optimización y ofuscación de código para aplicaciones y bibliotecas de Java. En el contexto de Android, ProGuard se utiliza principalmente para dos propósitos clave: la **ofuscación del código** y la **optimización del tamaño de la aplicación**.

1. **Ofuscación del Código:**
La ofuscación es el proceso de hacer que el código fuente de una aplicación sea más difícil de entender y leer. ProGuard cambia los nombres de las clases, métodos y variables a nombres confusos y sin sentido, lo que dificulta que los atacantes comprendan la lógica del código. Esto es esencial para la seguridad de la aplicación, ya que ayuda a proteger contra la ingeniería inversa y el robo de código.

2. **Optimización del Tamaño de la Aplicación:**
ProGuard también elimina el código y los recursos que la aplicación no utiliza, lo que reduce el tamaño del archivo APK. Esto es crucial para las aplicaciones Android, ya que un tamaño de archivo más pequeño significa que la aplicación se descargará más rápido desde Google Play Store y ocupará menos espacio en el dispositivo del usuario. Además, una aplicación más pequeña también reduce el uso de datos para los usuarios que descargan la aplicación a través de conexiones móviles.

Además de la ofuscación y la optimización, ProGuard también realiza otras técnicas de optimización, como la eliminación de clases y métodos no utilizados, la inlining de métodos cortos y la eliminación de código redundante.

**Cómo Usar ProGuard en Proyectos Android:**
En Android, ProGuard se integra fácilmente en el proceso de compilación. Los desarrolladores pueden habilitar ProGuard agregando algunas configuraciones en el archivo `build.gradle` del proyecto. También pueden personalizar las reglas de ProGuard para evitar que ciertas clases o métodos específicos se ofusquen si son necesarios para la funcionalidad de la aplicación.

ProGuard es una herramienta poderosa para mejorar tanto la seguridad como el rendimiento de las aplicaciones Android. Al utilizar ProGuard de manera adecuada, los desarrolladores pueden proteger su código contra la ingeniería inversa, optimizar el tamaño de la aplicación y mejorar la experiencia del usuario al garantizar tiempos de descarga más rápidos y un menor uso de datos.

Hoy día, lo que ha venido a sustituir a ProGuard es R8. Básicamente viene a hacer lo mismo que ProGuard si bien para las versiones más recientes de Android lo apropiado es utilizar R8 que viene con las Android Build Tools. Sin embargo, los conceptos generales sobre ofuscación y optimización siguen siendo aplicables tanto para ProGuard como para R8.