Aunque con el tiempo han nacido otros formatos como los app bundles o XAPK, el formato APK sigue siendo el estandar a día de hoy para la distribución de aplicaciones. Y cada archivo APK necesita estar firmado con un certificado digital para poder instalarlos en Android.
Añadir una firma a un APK no es algo común, sino que es algo casi exclusivo de desarrolladores y de usuarios avanzados que instalan aplicaciones modificadas. Un ejemplo común es Facebook-LC (LC significa Less crap, o menos basura), un MOD de la app oficial que solo funciona si tiene la misma firma digital que el resto de aplicaciones de Facebook de tu móvil.
Para qué sirve firmar un APK
El primer caso es el más común: desarrolladores. Quienes se inician en esto de crear aplicaciones para Android, aunque esa un simple Hello World, necesitan firmar la aplicación antes de poder generar el APK e instalarlo en el dispositivo. Es decir, es un paso imprescindible antes de distribuir la aplicación a través de una tienda como Google Play.
Firmar APK no es algo de lo que los usuarios normales deban preocuparse
Es decir, como usuario no es algo de lo que tú debas preocuparte, pues es el desarrollador el que firma la aplicación con un certificado digital. Este certificado se usa, entre otras cosas, para que una aplicación solo pueda actualizarse con versiones con la misma firma. En el ejemplo anterior de la versión modificada de Facebook: no puedes instalar la versión modificada encima de Facebook: dará error.
Como usuario avanzado, especialmente si te gusta probar suerte con versiones modificadas de aplicaciones, es posible que te encuentres alguna vez con la necesidad de firmar aplicaciones. No es muy común, sino que se puede dar el caso si, por ejemplo, una aplicación necesita "hablar con otra" y ambas necesitan tener la misma firma. O esperas que alguien se tome la molestia de firmar ambas por ti... o lo puedes hacer tú mismo.
Cómo firmar un APK
Nosotros nos vamos a centrar en el segundo supuesto, es decir, en los usuarios avanzados. Para ser prácticos, vamos a seguir los pasos necesarios para instalar la versión modificada de Facebook Facebook-LC y la versión oficial de Facebook Messenger, esta sin modificar.
He aquí donde entra el por qué podrías necesitar: todas las aplicaciones de Facebook necesitan usar la misma firma digital para hablar entre ellas. El desarrollador de la modificación Facebook-LC se ha tomado la molestia de hacerlo con unas cuentas aplicaciones como Messenger Lite o Pages Manager, pero el problema es que las aplicaciones se actualizan constantemente, de modo que te quedas a la espera de que lo haga con una nueva versión si quieres actualizar. Recuerda: las versiones modificadas no se pueden actualizar desde Google Play.
En Windows
Hay varios modos de llevar a cabo la tarea, por ejemplo, con Android Studio. Ahora bien, si solo quieres firmar un APK de vez en cuando una herramienta más sencilla como APK Signer seguramente sea más apropiada. La puedes descargar desde aquí. Es realmente sencilla, aunque necesitarás instalar Java para que funcione.
Lo mejor de todo es que realmente no tienes que hacer prácticamente nada. Arrastra el APK que quieres firmar dentro de la ventana y ya está (o, si lo prefieres, también puedes pulsar Choose APK y buscarlo en tu disco duro). El proceso es relativamente rápido, y deberías encontrar tu APK ya firmado en la misma carpeta.
Algunos usuarios informan de que la herramienta anterior no siempre funciona según lo previsto, así que si tienes problemas, puedes probar a firmar aplicaciones directamente desde tu móvil, con otra aplicación.
En Android
Si no tienes un PC a mano o simplemente no has conseguido que el método anterior te funcione, siempre te quedará Google Play. Allí hay varias aplicaciones que sirven para añadir firmas a un APK, como por ejemplo APK-Signer.
apk-signer
- Desarrollador: Hai Bison
- Descárgalo en: Google Play
- Precio: Gratis
- Categoría: Herramientas
Una ventaja que tiene APK Signer es que puede abrir archivos APK o extraer aplicaciones que ya tienes instaladas en el móvil, generar el APK y luego firmarlo. De este modo, te puedes ahorrar el paso de descargarte el APK desde APKMirror o similares.
El proceso en sí es sencillo. Para firmar un archivo APK que tengas en el móvil debes tocar en el icono del flotante del lápiz, y para hacerlo de una aplicación ya instalada, en la llave inglesa. Eliges el archivo y se empieza a firmar automáticamente. El proceso tarda un poco más que en un PC, dependiendo de la potencia de tu móvil.
Después de terminar, puedes instalar este APK con su nueva firma directamente tocando en él, aunque recuerda que antes deberás desinstalar la versión anterior. En caso contrario recibirás el error de Aplicación no instalada, al intentar actualizar una aplicación con otra que tiene una firma distinta.
Como comentábamos antes, firmar archivos APK no es algo que los usuarios normales deban hacer. Si te gusta llevar el sistema operativo al límite trasteando con aplicaciones te puede ser útil saber que, aunque es un proceso complejo, realmente no es demasiado complicado de llevar a cabo.