Android App Bundle es el nuevo formato oficial de publicación de archivos de Android.
Al utilizar este formato Google Play lo que hace es optimizar el archivo apk que se envía al usuario cuando quiere descargar nuestra app desde la tienda de Google, reduciendo su tamaño y enviando al usuario sólo los recursos que necesita para que funcione en su dispositivo, con lo que su descarga es mucho más rápida.
En pruebas que he estado haciendo un apk de 20 Mb se me reduce hasta los 11 Mb.
El sistema que utiliza se llama Dynamic Delivery y permite aumentar el tamaño del apk hasta los 150 Mb sin tener que usar archivos de expansión.
El Android App Bundle es un archivo con extensión ".aab" que se sube a Google Play para dar compatibilidad con Dynamic Delivery.
El formato es el siguiente:
Los directorios de color azul, como drawable/, values/ y lib/, representan el código y los recursos que usa Google Play cuando crea un apk de configuración para cada módulo.
Cómo generar un Android app bundle desde RAD STUDIO
Todo lo siguiente está realizado con RAD STUDIO Tokyo 10.3 Update 3
Primero hay que comprobar que se puede generar un apk de 32 bits y de 64 bits y que funciona correctamente.
Después accedemos al menú Project - Options - Building -Delphi Compiler - Compiling
En target marcamos All configurations - Android 64 bit platform
En el apartado Other options marcamos el check:
Generate Android App Bundle file (arm + arm64)
Si posteriormente ejecutamos nuestra app, nos aparecerá un aviso diciendo que se ha creado el archivo con extensión
Para comprobar que esta apk la pueden abrir usuarios que tengan dispositivos de 32 y de 64 bits lo que hay que hacer es cambiar la extensión "aab"
Dentro de cada de una de ellas tienen que encontrarse los archivos con extensión ".so" que son las bibliotecas que utiliza nuestra app y que se descargarán automáticamente según el tipo de dispositivo del usuario.
Hasta ahora lo que hacíamos los desarrolladores es crear una app de 32 o 64 bits y subirla a Google Play para que lo ejecutasen los usuarios, pero después de la prohibición de Google de subir a su tienda apps de 32 bits, es imprescindible usar los Android App Bundle si se requiere que los usuarios con dispositivos antiguos de 32 bits puedan ejecutar las actualizaciones de las apps.
Como ven de nuevo Embarcadero con Delphi, Rad Studio, Firemonkey nos ponen las cosas muy fáciles, simplemente activando un check conseguimos solucionarlo.
Si te ha gustado este post y quieres recibir un email cada vez que publique uno nuevo suscríbete desde aquí
No sabes la cantidad de tiempo que me has ahorrado con esta información.
ResponderEliminarEstaba intentando de alguna forma que los usuarios con móviles antiguos se instalen las últimas versiones de las app y no había manera.
¡¡Muchísimas gracias por compartir!!
No me queda claro lo siguiente, debo compilar 32 bits primero tanto de debug y en release y luego 64 bits ?
ResponderEliminarLo que hay que hacer es compilar en release 32,64 para ver si funciona la app correctamente y luego generar el Android app bundle para subirlo a la tienda de google.
ResponderEliminarMuy practico este articulo. Felicitaciones.
ResponderEliminarExcelente, al grano...como debe ser!
ResponderEliminarAlguien sabe como integrar en una aplicación de delphi la opción que nos da google en su tienda llamada android app licensing, basicamente es una comprobación de seguridad para nuestra aplicación.
ResponderEliminarSaludos.
Haría falta activar el permiso
Eliminarcom.android.vending.CHECK_LICENSE
pero desde Delphi desconozco como hacerlo
He estado investigando y parece que la libreria Androidapi.JNI.Licensing es la que se usa para comprobar la licencia, pero no he conseguido averiguar más.
EliminarSaludos.