bundletool

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

bundletool es la herramienta subyacente que Android Studio, el complemento de Android para Gradle y Google Play usan para compilar un Android App Bundle y convertir un paquete de aplicación en los diversos APK que se implementan en dispositivos. Los paquetes del SDK de Android y sus APK también se compilan con bundletool. bundletool también está disponible como herramienta de línea de comandos, por lo que puedes compilar paquetes de aplicación y de SDK por tu cuenta y volver a crear la compilación del servidor de Google Play de los APK o de tu app o los SDK habilitados para el entorno de ejecución de tus APK.

Descarga bundletool

Si aún no lo hiciste, descarga bundletool desde el repositorio de GitHub.

Cómo compilar y probar un paquete de aplicación

Puedes usar Android Studio o la herramienta de línea de comandos de bundletool para compilar tu Android App Bundle y probar la generación de APK desde este paquete de aplicación.

Cómo compilar un paquete de aplicación

Deberías usar Android Studio y el complemento de Android para Gradle a fin de compilar y firmar un Android App Bundle. Sin embargo, si no es posible usar el IDE (por ejemplo, porque estás usando un servidor de compilación continua), también puedes compilar el paquete de tu aplicación desde la línea de comandos y firmarlo con jarsigner.

Para obtener más información a fin de compilar paquetes de aplicación con bundletool, consulta Cómo compilar un paquete de aplicación con bundletool.

Cómo generar un conjunto de APK desde tu paquete de aplicación

Una vez que hayas creado tu Android App Bundle, deberás probar cómo lo usa Google Play para generar los APK y cómo se comportan estos cuando se implementan en un dispositivo. Hay dos maneras de probar el paquete de tu aplicación: de forma local, con la herramienta de línea de comandos bundletool, o con Google Play, si subes tu paquete en Play Console y usas un segmento de pruebas. En esta página, se explica cómo usar bundletool para probar de forma local el paquete de tu aplicación.

Cuando bundletool genera los APK desde el paquete de tu aplicación, los incluye en un contenedor llamado archivo de conjunto de APK, que usa la extensión de archivo .apks. A fin de generar un conjunto de APK para todas las configuraciones del dispositivo que admite tu app desde el paquete correspondiente, usa el comando bundletool build-apks, como se muestra a continuación.

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

Si quieres implementar los APK en un dispositivo, también deberás incluir la información de firma de tu app, como se muestra en el siguiente comando. Si no especificas la información de firma, bundletool intentará firmar tus APK por ti con una clave de depuración.

bundletool build-apks --bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks
--ks=/MyApp/keystore.jks
--ks-pass=file:/MyApp/keystore.pwd
--ks-key-alias=MyKeyAlias
--key-pass=file:/MyApp/key.pwd

En la tabla que aparece a continuación, se describen con mayor detalle las diversas marcas y opciones que puedes configurar cuando se usa el comando bundletool build-apks.

Marca Descripción
--bundle=path (Obligatorio) Especifica la ruta de acceso al paquete de aplicación que compilaste con Android Studio. Para obtener más información, lee Cómo compilar tu proyecto.
--output=path (Obligatorio) Especifica el nombre del archivo ".apks" de salida, que contiene todos los artefactos APK de tu app. Si deseas probar los artefactos de este archivo en un dispositivo, ve a la sección para implementar APK en un dispositivo conectado.
--overwrite Incluye esta marca si deseas reemplazar cualquier archivo de salida existente por la misma ruta de acceso que especifiques mediante la opción --output. Si no incluyes esta marca y el archivo de salida ya existe, obtendrás un error de compilación.
--aapt2=path Especifica una ruta de acceso a AAPT2 personalizada. De forma predeterminada, bundletool incluye su propia versión de AAPT2.
--ks=path Especifica la ruta de acceso al almacén de claves de implementación que se usa para firmar los APK. Esta marca es opcional. Si no la incluyes, bundletool intentará firmar tus APK con una clave de firma de depuración.
--ks-pass=pass:password
o
--ks-pass=file:/path/to/file
Especifica la contraseña de tu almacén de claves. Si quieres especificar una contraseña en texto sin formato, califícala con pass:. Si quieres pasar la ruta de acceso a un archivo que contiene la contraseña, califícala con file:. Si especificas un almacén de claves con la marca --ks sin especificar --ks-pass, bundletool te solicitará una contraseña desde la línea de comandos.
--ks-key-alias=alias Especifica el alias de la clave de firma que deseas usar.
--key-pass=pass:password
o
--key-pass=file:/path/to/file
Especifica la contraseña para la clave de firma. Si quieres especificar una contraseña en texto sin formato, califícala con pass:. Si quieres pasar la ruta de acceso a un archivo que contiene la contraseña, califícala con file:.

Si esta contraseña es idéntica a la del almacén de claves en sí, puedes omitir esta marca.

--connected-device Indícale a bundletool que compile los APK que se orientan a la configuración de un dispositivo conectado. Si no incluyes esta marca, bundletool generará APK para todas las configuraciones del dispositivo que admite tu app.
--device-id=serial-number Si tienes más de un dispositivo conectado, usa esta marca para especificar el ID de serie del dispositivo en el que desees implementar tu app.
--device-spec=spec_json Usa esta marca para proporcionar una ruta de acceso a un archivo .json que especifique la configuración del dispositivo al que desees apuntar. Para obtener más información, consulta la sección sobre Cómo crear y usar archivos JSON de especificación de dispositivo.
--mode=universal Configura el modo en universal si deseas que bundletool compile un solo APK que incluya todos los recursos y el código de tu app, de manera que el APK sea compatible con todas las configuraciones del dispositivo compatibles con tu app.

Nota: bundletool incluye solo módulos de funciones que especifican <dist:fusing dist:include="true"/> en su manifiesto, en un APK universal. Si deseas obtener más información, lee sobre el manifiesto del módulo de funciones.

Ten en cuenta que estos APK son más grandes que los optimizados para una configuración de un dispositivo en particular. Sin embargo, son más fáciles de compartir con verificadores internos que, por ejemplo, quieran probar tu app en varias configuraciones de dispositivos.

--local-testing Usa esta marca a fin de habilitar tu paquete de aplicación para pruebas locales. Las pruebas locales permiten realizar ciclos de prueba iterativos y rápidos sin necesidad de subirlos a los servidores de Google Play.

Para ver un ejemplo de cómo probar la instalación del módulo con la marca --local-testing, consulta Cómo realizar pruebas locales de instalaciones de módulos.

Cómo implementar APK en un dispositivo conectado

Una vez que generes un conjunto de APK, bundletool puede implementar la combinación correcta de APK de ese conjunto en un dispositivo conectado.

Por ejemplo, si tienes un dispositivo conectado que ejecuta Android 5.0 (nivel de API 21) o versiones posteriores, bundletool envía el APK base, los APK del módulo de funciones y los APK de configuración necesarios para ejecutar tu app en ese dispositivo. De manera alternativa, si tu dispositivo conectado ejecuta Android 4.4 (nivel de API 20) o versiones anteriores, bundletool busca una variante de varios APK compatible y la implementa en tu dispositivo.

Para implementar tu app desde un conjunto de APK, usa el comando install-apks y especifica la ruta de acceso del conjunto de APK por medio de la marca --apks=/path/to/apks, como se muestra a continuación. (Si tienes varios dispositivos conectados, debes especificar el dispositivo de destino agregando la marca --device-id=serial-id).

bundletool install-apks --apks=/MyApp/my_app.apks

Cómo generar un conjunto de APK específicos del dispositivo

Si prefieres no crear un conjunto de APK para todas las configuraciones del dispositivo que admite tu app, puedes compilar APK que se orienten solo a la configuración de un dispositivo conectado por medio de la opción --connected-device, como se muestra a continuación (si tienes varios dispositivos conectados, debes incluir la marca --device-id=serial-id para especificar el dispositivo de destino).

bundletool build-apks --connected-device
--bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

Cómo generar y usar archivos JSON de especificación de dispositivo

bundletool es capaz de generar un conjunto de APK que se oriente a una configuración del dispositivo especificada por un archivo JSON. A fin de generar primero un archivo JSON para un dispositivo conectado, ejecuta el siguiente comando:

bundletool get-device-spec --output=/tmp/device-spec.json

bundletool crea un archivo JSON para tu dispositivo en el directorio donde se encuentra la herramienta. Luego, puedes pasarlo a bundletool para generar un conjunto de APK que se oriente solo a la configuración descrita en ese archivo JSON de la siguiente manera:

bundletool build-apks --device-spec=/MyApp/pixel2.json
--bundle=/MyApp/my_app.aab --output=/MyApp/my_app.apks

Cómo crear manualmente una especificación de dispositivo JSON

Si no tienes acceso al dispositivo para el que deseas crear un conjunto de APK específico (por ejemplo, un amigo quiere probar tu app con un dispositivo que no tiene a mano), puedes crear manualmente un archivo JSON con el siguiente formato:

{
  "supportedAbis": ["arm64-v8a", "armeabi-v7a"],
  "supportedLocales": ["en", "fr"],
  "screenDensity": 640,
  "sdkVersion": 27
}

Luego puedes pasar este JSON al comando bundle extract-apks, como se describe en la sección anterior.

Cómo extraer los APK específicos del dispositivo de un conjunto de APK existente

Si tienes un conjunto de APK existente y quieres extraer de él un subconjunto de APK que se orienten a una configuración del dispositivo específica, puedes usar el comando extract-apks y establecer una especificación de dispositivo JSON, de la siguiente manera:

bundletool extract-apks
--apks=/MyApp/my_existing_APK_set.apks
--output-dir=/MyApp/my_pixel2_APK_set.apks
--device-spec=/MyApp/bundletool/pixel2.json

Cómo medir los tamaños de descarga estimados de los APK en un conjunto de APK

Para medir los tamaños de descarga estimados de los APK en un conjunto de APK de la manera en que se publicarían comprimidos por medio de la conexión, usa el comando get-size total:

bundletool get-size total --apks=/MyApp/my_app.apks

Puedes modificar el comportamiento del comando get-size total con las siguientes marcas:

Marca Descripción
--apks=path Obligatorio: Especifica la ruta de acceso al archivo de conjunto de APK existente del cual se mide el tamaño de descarga.
--device-spec=path Especifica la ruta al archivo de especificaciones del dispositivo (de get-device-spec o construido manualmente) que se debe usar para la coincidencia. Puedes especificar una ruta de acceso parcial para evaluar un conjunto de configuraciones.
--dimensions=dimensions Especifica las dimensiones que se usan cuando se calculan las estimaciones de tamaño. Acepta una lista separada por comas de: SDK, ABI, SCREEN_DENSITY y LANGUAGE. Para medir en todas las dimensiones, especifica ALL.
--instant Mide el tamaño de descarga de los APK habilitados de manera instantánea, en lugar de los APK instalables. De manera predeterminada, bundletool mide los tamaños de descarga de los APK instalables.
--modules=modules Especifica una lista de módulos separados por comas en el conjunto de APK para tener en cuenta en la medición. El comando bundletool incluye automáticamente los módulos dependientes para el conjunto especificado. De manera predeterminada, el comando mide el tamaño de descarga de todos los módulos instalados durante la primera descarga.

Cómo compilar y probar un paquete de aplicación con una dependencia de paquete de SDK (experimental)

Puedes usar bundletool para compilar un Android App Bundle con una dependencia de paquete del SDK de Android y probar la generación de APK a partir de él.

Cómo compilar un paquete de aplicación con una dependencia de paquete de SDK

Puedes compilar tu Android App Bundle con una dependencia de paquete del SDK de Android desde la línea de comandos y firmarla con jarsigner.

Cada módulo de paquete de aplicación incluye un archivo de búfer de protocolo de módulo (.pb): runtime_enabled_sdk_config.pb. Este archivo contiene la lista de SDK de los que depende un módulo de paquete de aplicación. Para obtener la definición completa de este archivo, consulta el archivo runtime_enabled_sdk_config.proto.

A fin de compilar un paquete de aplicación con una dependencia de paquete de SDK, sigue la misma guía para compilar un paquete de aplicación con bundletool, pero esta vez asegúrate de agregar un archivo runtime_enabled_sdk_config.pb al archivo ZIP de cada módulo de la app con código y recursos compilados.

Estos son algunos campos destacados en el archivo runtime_enabled_sdk_config.pb:

  • Resumen de certificado: Es el resumen SHA-256 del certificado de la clave que se usa para firmar los APK del SDK. Corresponde al certificado del archivo SdkMetadata.pb en formato de archivo del SDK de Android.

  • ID del paquete de recursos: Es el ID del paquete al que se reasignan todos los recursos de este SDK cuando se generan APK para incorporar el SDK en la app. De esta manera, se habilita la retrocompatibilidad.

Un SDK solo puede aparecer en un módulo. Si varios módulos dependen del mismo SDK, se debe anular la duplicación de la dependencia, y esta se debe mover al módulo base. Los diferentes módulos no pueden depender de las diferentes versiones del SDK.

Cómo generar APK a partir de un paquete de aplicación con una dependencia de paquete de SDK

Para generar APK desde tu paquete de aplicación, sigue los mismos pasos que en Cómo generar un conjunto de APK desde tu paquete de aplicación o Cómo generar un conjunto de APK específicos del dispositivo, pero esta vez debes proporcionar el comando bundletool build-apks con los SDK de los que depende la app. Estos SDK se pueden proporcionar en formato de paquete de SDK o de archivo de SDK.

Puedes proporcionar los SDK como paquetes de SDK si agregas la marca --sdk-bundles de la siguiente manera:

bundletool build-apks --bundle=app.aab --sdk-bundles=sdk1.asb,sdk2.asb \
    --output=app.apks

Puedes proporcionar los SDK como archivos de SDK si agregas la marca --sdk-archives de la siguiente manera:

bundletool build-apks --bundle=app.aab --sdk-archives=sdk1.asar,sdk2.asar \
    --output=app.apks

Cómo compilar y probar un paquete de SDK (experimental)

Puedes usar bundletool a fin de compilar un paquete del SDK de Android y generar los archivos necesarios para la instalación y la distribución a modo de prueba.

Cómo compilar un paquete de SDK

Puedes compilar tu paquete del SDK de Android (ASB) desde la línea de comandos y firmarlo con jarsigner.

Para compilar un paquete de SDK, sigue estos pasos:

  1. Genera el manifiesto y los recursos del paquete del SDK en formato proto, siguiendo los mismos pasos que para un paquete de aplicación.

  2. Empaqueta el código compilado y los recursos del SDK en un archivo ZIP base, como lo harías con un módulo de la app.

  3. Genera un archivo SdkModulesConfig.pb.json y un archivo SdkBundleConfig.pb.json que coincidan con el formato que se describe en la especificación del paquete del SDK de Android.

  4. Compila tu paquete de SDK con el comando bundletool build-sdk-bundle de la siguiente manera:

bundletool build-sdk-bundle --sdk-bundle-config=SdkBundleConfig.pb.json \
    --sdk-modules-config=SdkModulesConfig.pb.json \
    --modules=base.zip --output=sdk.asb

En la tabla que aparece a continuación, se describen con mayor detalle las diversas marcas y opciones que puedes configurar cuando se usa el comando bundletool build-sdk-bundle.

Marca Descripción
--modules (Obligatorio) El archivo de módulo desde el que quieres compilar el paquete del SDK de Android final.
--output (Obligatorio) Es la ruta de acceso en la que se debe compilar el paquete del SDK de Android.
--sdk-modules-config (Obligatorio) Es la ruta de acceso a un archivo JSON que describe la configuración de los módulos del SDK. Si quieres obtener información para dar formato al archivo JSON, consulta la especificación del paquete del SDK de Android.
--sdk-bundle-config Es la ruta de acceso a un archivo JSON que describe la configuración del paquete de SDK. Si quieres obtener información para dar formato al archivo JSON, consulta la especificación del paquete del SDK de Android.
--metadata-file Especifica el archivo que se incluirá como metadatos en el paquete del SDK de Android. El formato del valor de la marca es <bundle-path>:<physical-file>, en el que <bundle-path> denota la ubicación del archivo dentro del directorio de metadatos del paquete de SDK y <physical-file> es un archivo existente que contiene los datos sin procesar que se almacenarán. La marca se puede repetir.
--overwrite Si se configura, se reemplaza cualquier resultado anterior.

Cómo generar APK a partir de un paquete de SDK

Después de compilar tu paquete del SDK de Android, puedes probar un paquete de SDK de forma local si generas sus APK con el comando bundletool build-sdk-apks, como se muestra en el siguiente código.

Cuando bundletool genera los APK desde el paquete de tu SDK, los incluye en un contenedor llamado archivo de conjunto de APK, que usa la extensión de archivo .apks. bundletool genera un solo APK independiente del paquete del SDK que se orienta a todas las configuraciones del dispositivo.

bundletool build-sdk-apks --sdk-bundle=sdk.asb --output=sdk.apks

Si quieres implementar el ASB en un dispositivo, también debes incluir la información de firma de tu app, como se muestra en el siguiente comando. Si no especificas la información de firma, bundletool intentará firmar tus APK por ti con una clave de depuración.

bundletool build-sdk-apks --sdk-bundle=sdk.asb --output=sdk.apks \
    --ks=keystore.jks \
    --ks-pass=file:/keystore.pwd \
    --ks-key-alias=KeyAlias \
    --key-pass=file:/key.pwd

En la tabla que aparece a continuación, se describen con mayor detalle las diversas marcas y opciones que puedes configurar cuando se usa el comando bundletool build-sdk-apks.

Marca Descripción
--sdk-bundle (Obligatorio) Es la ruta de acceso al paquete de SDK. Debe tener la extensión .asb.
--output (Obligatorio) De forma predeterminada, es la ruta de acceso en la que se debe crear el archivo de conjunto de APK. De manera alternativa, si usas --output-format=DIRECTORY, esta es la ruta de acceso al directorio en el que se deben almacenar los APK generados.
--ks Es la ruta de acceso al almacén de claves que se debe usar para firmar los APK generados.
--ks-key-alias Es el alias de la clave que se usará en el almacén de claves para firmar los APK generados.
--key-pass Es la contraseña de la clave del almacén de claves que se usará para firmar los APK generados. Si pasas la contraseña en texto sin formato, debes agregar el prefijo pass: al valor; por ejemplo, pass:qwerty. Si la contraseña es la primera línea de un archivo, debes agregar el prefijo file: al valor; por ejemplo, file:/tmp/myPassword.txt. Si no se configura esta marca, se prueba la contraseña del almacén de claves. Si eso falla, la terminal de la línea de comandos te solicita una contraseña.
--ks-pass Es la contraseña del almacén de claves que se usará para firmar los APK generados. Si pasas la contraseña en texto sin formato, debes agregar el prefijo pass: al valor; por ejemplo, pass:qwerty. Si la contraseña es la primera línea de un archivo, debes agregar el prefijo file: al valor; por ejemplo, file:/tmp/myPassword.txt. Si no se configura esta marca, la terminal de la línea de comandos te solicita una contraseña.
--aapt2 Es la ruta de acceso al objeto binario AAPT2 que se usará.
--output-format Especifica el formato de salida para los APK generados. De forma predeterminada, se establece en APK_SET, que genera los APK en el archivo de conjunto de APK que se crea. Si se configura en DIRECTORY, da como resultado los APK en el directorio que especifica --output.
--verbose Si se configura, imprime información adicional sobre la ejecución del comando en el resultado estándar.
--version-code Es el código de versión del SDK. Este es el código de versión que usa la plataforma de Android para instalar el APK, no la versión del SDK. Se puede establecer en un valor arbitrario. Si no se configura, se establece de forma predeterminada en 0.
--overwrite Si se configura, se reemplaza cualquier resultado anterior.

Cómo generar un archivo SDK a partir de un paquete de SDK

Después de subir tu paquete del SDK de Android al canal de distribución, por ejemplo, Google Play, este paquete se transforma en un archivo del SDK de Android (.asar) para su distribución a desarrolladores de apps desde Maven. Para obtener más detalles sobre el formato, consulta la especificación del formato de archivo de SDK.

Después de compilar tu paquete del SDK de Android, puedes probar la generación de un archivo del SDK de Android de forma local con el comando bundletool build-sdk-asar, como se muestra en el siguiente código.

bundletool build-sdk-asar --sdk-bundle=sdk.asb --output=sdk.asar \
    --apk-signing-key-certificate=keycert.txt

En la tabla que aparece a continuación, se describen con mayor detalle las diversas marcas y opciones que puedes configurar cuando se usa el comando bundletool build-sdk-asar.

Marca Descripción
--apk-signing-key-certificate (Obligatorio) Es la ruta de acceso al certificado de firma de APK del SDK. Este es el certificado correspondiente a la clave que usaste para firmar los APK en el comando build-sdk-apks.
--output (Obligatorio) Es la ruta de acceso en la que se debe crear el archivo .asar.
--sdk-bundle (Obligatorio) Es la ruta de acceso al paquete de SDK. Debe tener la extensión .asb.
--overwrite Si se configura, se reemplaza cualquier resultado anterior.

Formatos de SDK habilitados para el entorno de ejecución (experimental)

Los SDK habilitados para el entorno de ejecución presentan dos formatos de archivo de Android: paquete del SDK de Android (.asb), que se usa a fin de publicar el SDK habilitado para el entorno de ejecución en tiendas de aplicaciones; y archivo del SDK de Android (.asar), que se usa para distribuir el SDK habilitado para el entorno de ejecución en Maven.

Formato de paquete del SDK de Android

Un paquete de SDK es un formato de publicación para los SDK habilitados para el entorno de ejecución. Contiene todos los recursos y el código del SDK, incluido el código de las bibliotecas de las que depende. No incluye el código ni los recursos de otros SDK habilitados para el entorno de ejecución del que depende el SDK.

Un paquete del SDK de Android es un archivo ZIP firmado que contiene la extensión .asb. El código y los recursos del SDK se organizan de manera similar a lo que encontrarías en un APK. Un ASB también contiene varios archivos de configuración que se usan para ayudar a generar los APK instalables.

Figura 1: El contenido de un paquete del SDK de Android

En la siguiente lista, se describen con más detalle algunos de los archivos del paquete del SDK de Android:

  • SdkBundleConfig.pb: Se trata de un archivo de configuración en formato .proto que contiene la lista de SDK habilitados para el entorno de ejecución de los que depende tu SDK. Para ver la definición completa, consulta el archivo sdk_bundle_config.proto.

  • modules.resm: Se trata de un archivo ZIP que contiene todos los datos necesarios para generar los APK desde el SDK.

  • SdkModulesConfig.pb: Se trata de un archivo de configuración en formato proto. Este archivo contiene el nombre del SDK, la versión y el nombre de clase del punto de entrada del SDK para el framework (SandboxedSdkProvider). Si quieres ver la definición completa, consulta el archivo sdk_modules_config.proto.

  • base/: Se trata del módulo único que contiene el código y los recursos del SDK.

    • manifest/: Se trata del manifiesto del SDK en formato proto.
    • dex/: Se trata del código compilado en formato DEX. Se pueden proporcionar varios archivos DEX.
    • res/, lib/, assets/: Estos directorios son idénticos a los de un APK típico. Las rutas de acceso de estos directorios se conservan cuando se generan los APK del SDK.
    • root/: Este directorio almacena archivos que luego se trasladan al directorio raíz de los APK del SDK. Por ejemplo, puede incluir recursos basados en Java que tu SDK carga con el método Class.getResource(). También se conservan las rutas de acceso dentro de este directorio.
    • BUNDLE-METADATA: Este directorio incluye archivos de metadatos que contienen información útil para herramientas o tiendas de aplicaciones. Estos archivos de metadatos pueden incluir asignaciones de ProGuard y la lista completa de los archivos DEX de tu SDK. Los archivos incluidos en este directorio no están empaquetados en los APK de tu SDK.

Formato de archivo del SDK de Android

Un archivo del SDK de Android es el formato de distribución de un SDK habilitado para el entorno de ejecución en Maven. Se trata de un archivo ZIP que contiene la extensión de archivo .asar. Contiene toda la información que necesitan las herramientas de compilación de apps para generar un Android App Bundle que depende del SDK habilitado para el entorno de ejecución.

Figura 2: El contenido de un paquete de archivos del SDK de Android

En la siguiente lista, se describen con más detalle algunos de los archivos del paquete del SDK de Android:

  • SdkMetadata.pb: Se trata de un archivo de configuración en formato proto que contiene el nombre del SDK, la versión y el resumen del certificado de la clave que se usó para firmar los APK generados para este SDK. Para ver la definición completa, consulta el archivo sdk_metadata.proto.

  • modules.resm: Se trata de un archivo ZIP que contiene todos los datos necesarios para generar los APK desde el SDK. Es lo mismo que el archivo .resm en el paquete del SDK de Android.

  • AndroidManifest.xml: Se trata del archivo de manifiesto del SDK en formato XML de texto.

Recursos adicionales

Para obtener más información sobre cómo usar bundletool, consulta el siguiente recurso.

Codelabs

  • Tu primer paquete Android App Bundle, un codelab que explora los principios básicos de los archivos Android App Bundle y te muestra cómo comenzar rápidamente a compilar el tuyo con Android Studio. En este codelab, también se analiza cómo probar los paquetes de aplicaciones usando bundletool.