Convierta AAB a APK en línea: qué hace realmente esta herramienta
El Android App Bundle (.aab) es el formato que Google Play pide a los desarrolladores que carguen, pero no es algo que puedas instalar en un teléfono. Si tiene un archivo .aab de un servidor de compilación, una canalización de CI o un colega, primero debe convertirlo en un .apk instalable. Esta página le ofrece dos cosas para ese trabajo: un Generador de comandos de AAB a APK interactivo que escribe el comando de herramienta de paquete exacto para su sistema operativo y un explorador de archivos AAB que abre el paquete en su navegador para que pueda ver lo que hay dentro antes de convertirlo.
La conversión en sí se realiza a través del bundletool oficial de Google, que es un programa Java. Debido a que Bundletool necesita el tiempo de ejecución de Java y el acceso a su almacén de claves, el paso de compilación real ocurre en su propia máquina, no en nuestros servidores. Su archivo .aab nunca se carga en ninguna parte. El constructor simplemente elimina las conjeturas para que pueda copiar un comando correcto y listo para ejecutar en lugar de memorizar los nombres de las banderas.
AAB vs APK: por qué no puede simplemente cambiar el nombre del archivo
Mucha gente busca cómo cambiar AAB a APK cambiando el nombre de la extensión y nunca funciona. Un .apk es un paquete único e independiente que Android puede instalar directamente. Un .aab es un contenedor de publicación: contiene el código compilado y los recursos divididos en módulos, y espera que Google Play o bundletool genere a partir de él los APK finales optimizados para el dispositivo. Cambiar el nombre del archivo no descomprime esos módulos ni firma nada, por lo que Android se niega a instalarlo. La única forma confiable de convertir un Paquete de aplicaciones de Android a APK es dejar que Bundletool cree el APK configurado por usted.
Cómo convertir AAB a APK en Windows, Mac y Linux
Los pasos son los mismos en todas las plataformas y solo cambia el estilo de la ruta del archivo, razón por la cual el generador de comandos anterior tiene un modificador para Windows, macOS y Linux. Aquí está el flujo completo de principio a fin:
- Instale Java JDK 8 o posterior. Ejecute java -version en una terminal para confirmar que Java está en su RUTA.
- Descargue la herramienta de paquete. Obtenga la última versión de bundletool-all.jar en la página oficial de lanzamientos de GitHub de Google.
- Construya el conjunto APK. Apunte la herramienta de paquete a su paquete y permita que produzca un archivo .apks: java -jar bundletool-all.jar build-apks --bundle=app.aab --output=app.apks --mode=universal
- Abra el archivo .apks. Es sólo un archivo ZIP, así que extráigalo y encontrará universal.apk dentro.
- Instálalo en tu dispositivo. Copie el APK a su teléfono y cárguelo, o use bundletool install-apks con un dispositivo conectado a través de USB.
APK universal frente a APK divididos: ¿cuál debería crear?
Si desea un archivo que se instale en cualquier teléfono, use --mode=universal. Esto crea un único APK universal desde tu AAB que agrupa cada arquitectura de CPU, densidad de pantalla e idioma en un solo paquete. Es más grande, pero es la opción más sencilla para probar, archivar o compartir una compilación fuera de Play Store. Si omite el modo, Bundletool produce APK divididos que se recortan para un dispositivo específico, por lo que se descargan más pequeños, pero debe instalar el conjunto correspondiente juntos. Para la mayoría de las personas que sólo necesitan convertir un .aab para una instalación rápida, el APK universal es la opción correcta.
Firmar el APK que obtienes de una AAB
Android no instalará un APK a menos que esté firmado. Para realizar pruebas, Bundletool puede firmar con una clave de depuración automáticamente, que es exactamente lo que hace la opción "Usar almacén de claves de depuración" en el generador. Si está preparando una versión de lanzamiento, por ejemplo para distribuirla en su propio sitio web, fírmela con su propio almacén de claves completando los campos de ruta del almacén de claves, contraseña del almacén de claves, alias de clave y contraseña de clave. Luego, el constructor agrega los indicadores --ks, --ks-pass, --ks-key-alias y --key-pass para que el APK que obtenga lleve su firma de producción real en lugar de una de depuración desechable.
Errores comunes de BundleTool y cómo solucionarlos
Dos problemas surgen una y otra vez. El mensaje "bundletool: comando no encontrado" significa que intentó ejecutar bundletool como si fuera un comando integrado. Es un archivo JAR, por lo que siempre lo llamas con java -jar bundletool-all.jar. El error "Sin clave/certificado" significa que faltan detalles de firma: agregue --mode=universal para una compilación de prueba sin firmar o proporcione los indicadores del almacén de claves como se describe anteriormente. La pestaña Solución de problemas que se encuentra más arriba en la página cubre más de estos, y AAB Explorer le permite confirmar que su paquete realmente contiene los módulos que espera antes de dedicar tiempo a depurar un comando.
¿Cuándo necesitarías realmente convertir un AAB?
Las razones habituales son probar una versión de lanzamiento en un dispositivo real antes de publicarla, entregar una compilación a un evaluador que no usa Google Play, mantener una copia instalable de su propia aplicación para sus registros o ejecutar control de calidad en hardware al que no llegan las pruebas internas de Play Store. Cualquiera sea el motivo, convierta únicamente paquetes de aplicaciones que tenga derecho a usar, como sus propias compilaciones o paquetes con los que tenga permiso claro para trabajar.