# google/bundletool

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/google-bundletool).**

3,941 stars · 413 forks · Java · apache-2.0

## Links

- GitHub: https://github.com/google/bundletool
- Homepage: https://g.co/androidappbundle
- awesome-repositories: https://awesome-repositories.com/repository/google-bundletool.md

## Topics

`android` `android-app-bundle` `android-development` `android-testing`

## Description

Bundletool is a command line toolkit for manipulating Android App Bundles and generating optimized APKs tailored to specific device configurations. It serves as a utility for converting bundles into monolithic or split installation files and validating the integrity and size of these packages before publishing.

The tool differentiates itself through the ability to analyze device hardware specifications to extract only the required resource sets, reducing application download sizes. It also provides specialized capabilities for creating and exporting distribution archives for runtime-enabled software kits from pre-compiled project modules.

The project covers broader capabilities including the deployment of compatible installation packages to connected hardware, the export of device specifications, and the verification of digital signatures to ensure code transparency. It also includes mechanisms for estimating compressed download sizes based on target hardware dimensions.

## Tags

### Mobile Development

- [App Bundle Toolkits](https://awesome-repositories.com/f/mobile-development/app-bundle-toolkits.md) — Provides a comprehensive command line toolkit for manipulating Android App Bundles and generating optimized, device-specific APKs.
- [Architecture-Specific APK Packaging](https://awesome-repositories.com/f/mobile-development/architecture-specific-apk-packaging.md) — Generates Android application packages tailored to specific hardware architectures and screen densities.
- [Android App Distribution](https://awesome-repositories.com/f/mobile-development/android-app-distribution.md) — Manages the conversion of Android App Bundles into optimized APKs for delivery to various configurations.
- [Android App Modularization](https://awesome-repositories.com/f/mobile-development/android-app-modularization.md) — Implements strategies for decoupling Android applications into smaller modules to optimize binary size and download efficiency. ([source](https://developer.android.com/guide/app-bundle/app-bundle-format))

### Development Tools & Productivity

- [Bundle Splitting](https://awesome-repositories.com/f/development-tools-productivity/build-tooling/build-performance-optimization/build-optimization-tools/bundle-optimizers/asset-bundling/bundle-splitting.md) — Implements bundle splitting to divide large app bundles into smaller, device-optimized chunks.
- [APK Set Generation](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/compilers/script-compilation/apk-bundlers/apk-set-generation.md) — Produces a comprehensive collection of installation files targeting all possible device configurations. ([source](https://cdn.jsdelivr.net/gh/google/bundletool@master/README.md))
- [Bundle to APK Conversion](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/compilers/script-compilation/apk-bundlers/bundle-to-apk-conversion.md) — Transforms an app bundle into a set of installation files using custom security keys. ([source](https://developer.android.com/studio/command-line/bundletool))
- [Split APK Generation](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/compilers/script-compilation/apk-bundlers/split-apk-generation.md) — Creates sets of smaller installation files containing only required code and resources for specific configurations. ([source](https://developer.android.com/guide/app-bundle/app-bundle-format))
- [Package Installers](https://awesome-repositories.com/f/development-tools-productivity/package-installers.md) — Deploys compatible installation files onto connected devices based on their hardware specifications. ([source](https://cdn.jsdelivr.net/gh/google/bundletool@master/README.md))
- [Asset Hashing and Deduplication](https://awesome-repositories.com/f/development-tools-productivity/asset-hashing-and-deduplication.md) — Removes redundant resources across modules to minimize the final installation size.
- [Monolithic APK Generation](https://awesome-repositories.com/f/development-tools-productivity/compilers-toolchains/compilers/script-compilation/apk-bundlers/monolithic-apk-generation.md) — Produces single installation files for older devices that cannot handle split packages. ([source](https://developer.android.com/guide/app-bundle/app-bundle-format))
- [Pre-built SDK Distributions](https://awesome-repositories.com/f/development-tools-productivity/pre-built-sdk-distributions.md) — Generates distribution-ready archives and installation sets from runtime-enabled software kits and pre-compiled modules.
- [SDK Bundle Creation](https://awesome-repositories.com/f/development-tools-productivity/sdk-bundle-creation.md) — Generates a distribution format for runtime-enabled software kits using pre-compiled project modules. ([source](https://cdn.jsdelivr.net/gh/google/bundletool@master/README.md))
- [SDK Distribution Archives](https://awesome-repositories.com/f/development-tools-productivity/sdk-distribution-archives.md) — Generates distribution-ready archives or installation sets from software kit bundles. ([source](https://cdn.jsdelivr.net/gh/google/bundletool@master/README.md))

### DevOps & Infrastructure

- [Application Deployment Tools](https://awesome-repositories.com/f/devops-infrastructure/application-deployment-tools.md) — Pushes specific combinations of installation files that match the hardware requirements of target devices. ([source](https://developer.android.com/studio/command-line/bundletool))
- [Android App Bundle Supports](https://awesome-repositories.com/f/devops-infrastructure/containerization/image-building/android-app-bundle-supports.md) — Generates standardized Android application bundles from pre-compiled project modules. ([source](https://cdn.jsdelivr.net/gh/google/bundletool@master/README.md))
- [APK Loaders](https://awesome-repositories.com/f/devops-infrastructure/distribution-packaging/software-distribution/application-packaging/android-packages/apk-loaders.md) — Pushes and installs the correct combination of split APKs onto connected Android devices based on hardware specifications.
- [Bundle Validators](https://awesome-repositories.com/f/devops-infrastructure/containerization/image-building/android-app-bundle-supports/bundle-validators.md) — Estimates final download sizes and verifies digital signatures specifically within Android App Bundle files.

### Software Engineering & Architecture

- [Resource Partitioning](https://awesome-repositories.com/f/software-engineering-architecture/stakeholder-based-module-partitioning/resource-partitioning.md) — Organizes application content into independent units delivered based on feature or hardware requirements.

### Security & Cryptography

- [Bundle Integrity Verifications](https://awesome-repositories.com/f/security-cryptography/bundle-integrity-verifications.md) — Validates the authenticity and integrity of application bundles using cryptographic signatures to ensure code transparency. ([source](https://cdn.jsdelivr.net/gh/google/bundletool@master/README.md))
- [Digital Signature Validators](https://awesome-repositories.com/f/security-cryptography/digital-signature-validators.md) — Verifies the cryptographic integrity of app bundles using digital signatures before conversion.
- [App Bundle Validators](https://awesome-repositories.com/f/security-cryptography/digital-signature-validators/app-bundle-validators.md) — Provides utilities for verifying digital signatures and estimating the final compressed size of app bundles before publication.
