APK divididos y Android App Bundles, explicados para usuarios
Advertisement
De un APK a varios
Antes una app era un solo APK con código y recursos para cada tamaño de pantalla, idioma y CPU. Desde agosto de 2021, Google Play exige que las apps nuevas se suban como Android App Bundle (.aab). Play conserva el bundle y, en cada descarga, genera el conjunto de APK que componen la app en ese dispositivo concreto.
Las partes
- base.apk: el código y los recursos comunes a todos los dispositivos. Instalable por sí solo únicamente si la app se construyó así; la mayoría de apps modernas no.
- Divididos de configuración:
split_config.arm64_v8a.apk(código nativo para la CPU),split_config.xxhdpi.apk(imágenes para la densidad de pantalla),split_config.en.apk,split_config.es.apk(textos de idioma). El dispositivo recibe uno de cada tipo. - Divididos de funciones: módulos opcionales que la app descarga cuando los necesita, como un editor o una función de cámara.
Todos los divididos de una app comparten nombre de paquete, código de versión y firma. Android los instala en una sola sesión y los trata como una app.
Por qué instalar solo base.apk falla
La app arranca, busca un recurso o una biblioteca nativa que vive en un dividido y se cierra con Resources$NotFoundException o UnsatisfiedLinkError, o el instalador rechaza con INSTALL_FAILED_MISSING_SPLIT. Por eso un XAPK debe instalarse entero; consulta instalar APK divididos con SAI.
Cómo manejan los espejos los bundles
Como Play genera conjuntos específicos por dispositivo, un espejo guarda o bien un APK universal (la compilación de archivo único del desarrollador, que contiene todas las configuraciones, más grande pero instalable en cualquier sitio) o bien un XAPK con la base más los divididos de la configuración más común (arm64, xxhdpi, varios idiomas). Las páginas de versión de aquí etiquetan cada archivo con su formato, para que elijas el APK universal en un dispositivo poco habitual y el XAPK en un móvil actual.
Comprobar qué tiene un dispositivo
App Manager o SAI listan los divididos de una app instalada en sus detalles. adb shell pm path <paquete> imprime cada archivo APK de la app, uno por línea. Una app con una sola línea se instaló como paquete universal o de archivo único.
Esta guía describe el comportamiento general de Android; los nombres de los menús varían según el fabricante y la versión. Las descargas de este sitio proceden de espejos de terceros consolidados y nunca las modificamos.
Más guías
- ¿Qué es un archivo APK? Los paquetes de Android explicados
- XAPK, APKS, APKM y OBB: los formatos de paquete explicados
- Cómo permitir la instalación de orígenes desconocidos en Android
- Cómo volver a una versión anterior de una app de Android
- Cómo instalar y ejecutar un APK en Windows
- Cómo ejecutar un APK en un Mac