# Android Asset Packaging Tool 2.0 (AAPT2) release notes ## Version 2.12 ### `aapt2 optimize ...` - aapt2 optimize now understands map (complex) values under the type `id`. It ignores their contents and interprets them as a sentinel `id` type. This was added to support existing apps that build with their `id` types as map values. AAPT and AAPT2 always generate a simple value for the type `ID`, so it is unclear how some these apps are encoded. ## Version 2.11 ### `aapt2 link ...` - Adds the ability to specify assets directories with the -A parameter. Assets work just like assets in the original AAPT. It is not recommended to package assets with aapt2, however, since the resulting APK is post-processed by other tools anyways. Assets do not get processed by AAPT2, just copied, so incremental building gets slower if they are included early on. ## Version 2.10 ### `aapt2 link ...` - Add ability to specify package ID to compile with for regular apps (not shared or static libs). This package ID is limited to the range 0x7f-0xff inclusive. Specified with the --package-id flag. - Fixed issue with resources being stripped for locales and other configuration. - Fixed issue with escaping strings in XML resources. ## Version 2.9 ### `aapt2 link ...` - Added sparse resource type encoding, which encodes resource entries that are sparse with a binary search tree representation. Only available when minSdkVersion >= API O or resource qualifier of resource types is >= v26 (or whatever API level O becomes). Enabled with `--enable-sparse-encoding` flag. ### `aapt2 optimize ...` - Adds an optimization pass that supports: - stripping out any density assets that do not match the `--target-densities` list of densities. - resource deduping when the resources are dominated and identical (already happens during `link` phase but this covers apps built with `aapt`). - new sparse resource type encoding with the `--enable-sparse-encoding` flag if possible (minSdkVersion >= O or resource qualifier >= v26). ## Version 2.8 ### `aapt2 link ...` - Adds shared library support. Build a shared library with the `--shared-lib` flag. Build a client of a shared library by simply including it via `-I`. ## Version 2.7 ### `aapt2 compile ...` - Fixes bug where psuedolocalization auto-translated strings marked 'translateable="false"'. ## Version 2.6 ### `aapt2` - Support legacy `configVarying` resource type. - Support `` tag and treat as `