Skip to content

Releases: google/bundletool

0.8.0

14 Jan 21:00
Compare
Choose a tag to compare

What's new

  • Bundletool will no longer keep a list of extensions of files which must remain uncompressed by default in the generated APKs; it's up to the build system calling build-bundle to specify those files in the BundleConfig. Applies only to App Bundles built with version 0.8.0+ of bundletool. For users of the Android Gradle Plugin, this is a no-op since AGP already passes this list of files to bundletool.
  • build-apks command now signs the APKs by default with the debug keystore (when found) if --ks flag is not passed. The debug keystore must be named debug.keystore under the .android subdirectory of one of the following locations: $ANDROID_SDK_HOME, user home directory or $HOME.
  • The --modules flag from the extract-apks and install-apks commands now supports the special value _ALL_ to extract/install all modules (without having to enumerate them all).
  • Resources can now be pinned in the master APK by specifying the resource IDs in the BundleConfig (see config.proto).
  • The split attribute is no longer added automatically by Bundletool, it must be already present in the AndroidManifest.xml. Note that in the original AndroidManifest.xml, this attribute is named featureSplit (it is later renamed by aapt2). For users of the Android Gradle Plugin, this is a no-op since AGP adds it automatically.

Bugs fixes

  • dump manifest command no longer fails when namespaces have been stripped from the manifest.
  • Fixed an issue where we did not remove activities and services from non instant modules in the instant base manifest.
  • dump resources command now escapes the line breaks, quotes and backslashes from the strings of the values of resources.

0.7.2

07 Dec 10:26
Compare
Choose a tag to compare

What's new

  • Flag --universal replaced with --mode=universal (--universal will be removed in a future release).
  • New support for generating standalone APKs to be put on the system image (--mode=SYSTEM)
  • New support for generating APEX files.

Bugs fixed

  • 64-bit libraries no longer included in generated APKs if 32-bit RenderScript bitcode is present (not supported by Android platform).

0.7.1

19 Nov 17:09
Compare
Choose a tag to compare

What's new

  • dump command now able to print resources of an Android App Bundle (see command help).
  • Allow to install APK Sets with a lower version code, using --allow-downgrade flag (#32).

0.7.0

14 Nov 12:33
Compare
Choose a tag to compare

What's new

  • Added get-size command to compute the over-the-wire min and max sizes of APKs served to different devices configurations from an APK set. (#21)
  • Added dump command to print files or extract values from the bundle in a human-readable form. (#34)

0.6.2

31 Oct 17:19
Compare
Choose a tag to compare

What's new

  • Various bugfixes.
  • The get-device-spec command can now detect all installed languages on a device.

0.6.1

29 Oct 11:26
Compare
Choose a tag to compare

What's new

  • build-apks --connected-device command now also builds instant apks.
  • extract-apks now only extracts install-time modules for persistent (not instant) variants.
  • get-device-spec command now also detects device features.
  • New flag --overwrite in the device-spec command to overwrite the output file if it already exists.
  • Added support for ANDROID_SERIAL environmental variable to specify a particular device as an alternative to device-id in get-device-spec, install-apks and build-apks commands. If both are present device-id's value is choosen.

0.6.0

14 Sep 12:43
Compare
Choose a tag to compare

What's new

  • Native libraries are stored uncompressed and page aligned in the APK for devices on Android M and above. This lets applications use less space on the device as well as generate smaller updates on the Play Store.

0.5.1

29 Aug 17:54
Compare
Choose a tag to compare

What's new

  • Added support for generation of instant APKs.
  • Added support for multiple level of dependencies between features.

Also, adding tests to the repo.

0.5.0

11 Jul 20:02
Compare
Choose a tag to compare

What's new

  • Added support for --device-spec flag in the build-apks command in order to build APKs only for a specific device.
  • New flag --overwrite in the build-apks command to overwrite the output file if it already exists.
  • Flags can now be passed in format --flag=value or --flag value.

Bugs fixed

  • install-apks command now also able to install to pre-L devices.
  • Embedded wear APKs now also signed when a keystore is provided.
  • Fix split name of the fallback for language assets directory.

0.4.2

06 Jun 11:20
Compare
Choose a tag to compare

What's new

  • Added optional --connected-device flag to the build-apks command. When specified, a cut-down APK Set archive will be created containing APKs optimized only for the connected device. This will reduce the build time, but the APK Set is guaranteed to support only that specific device.

  • When using extract-apks, install-apks and build-apks with the --connected-device flag, we are now checking compatibility of the connected device or the device spec file with the App Bundle or APK Set. The error will be returned if the compatibility check fails (for example because of unsupported ABI).

Bugs fixed

  • Added handling of a tilde sign (~) on Linux/Mac platforms across all path flags (#12)
  • Fixed the "No connected devices found" issue during local deployment (#11)
  • Better error handling of the get-device-spec command errors if the device spec cannot be fully fetched.