blob: fedd65c4e239f12989a3572b05ecaea94b6b70ed [file] [log] [blame] [view]
Adam Lesinski0368ebf2016-07-26 12:55:51 -07001# Android Asset Packaging Tool 2.0 (AAPT2) release notes
2
Adam Lesinskid48944a2017-02-21 14:22:30 -08003## Version 2.9
4### `aapt2 link ...`
5- Added sparse resource type encoding, which encodes resource entries that are sparse with
6 a binary search tree representation. Only available when minSdkVersion >= API O or resource
7 qualifier of resource types is >= v26 (or whatever API level O becomes). Enabled with
8 `--enable-sparse-encoding` flag.
9### `aapt2 optimize ...`
10- Adds an optimization pass that supports:
11 - stripping out any density assets that do not match the `--target-densities` list of
12 densities.
13 - resource deduping when the resources are dominated and identical (already happens during
14 `link` phase but this covers apps built with `aapt`).
15 - new sparse resource type encoding with the `--enable-sparse-encoding` flag if possible
16 (minSdkVersion >= O or resource qualifier >= v26).
17
Adam Lesinskiceb9b2f2017-02-16 12:05:42 -080018## Version 2.8
19### `aapt2 link ...`
20- Adds shared library support. Build a shared library with the `--shared-lib` flag.
21 Build a client of a shared library by simply including it via `-I`.
22
Adam Lesinski75421622017-01-06 15:20:04 -080023## Version 2.7
Adam Lesinskiceb9b2f2017-02-16 12:05:42 -080024### `aapt2 compile ...`
Adam Lesinski75421622017-01-06 15:20:04 -080025- Fixes bug where psuedolocalization auto-translated strings marked 'translateable="false"'.
26
Adam Lesinski86d67df2017-01-31 13:47:27 -080027## Version 2.6
28### `aapt2`
29- Support legacy `configVarying` resource type.
30- Support `<bag>` tag and treat as `<style>` regardless of type.
31- Add `<feature-group>` manifest tag verification.
32- Add `<meta-data>` tag support to `<instrumentation>`.
33
Yuichi Araki4d35cca2017-01-18 20:42:17 +090034## Version 2.5
35### `aapt2 link ...`
36- Transition XML versioning: Adds a new flag `--no-version-transitions` to disable automatic
37 versioning of Transition XML resources.
38
Adam Lesinski5119e512016-12-05 19:48:20 -080039## Version 2.4
40### `aapt2 link ...`
41- Supports `<meta-data>` tags in `<manifest>`.
42
Adam Lesinskic0c36632016-10-19 18:37:53 -070043## Version 2.3
44### `aapt2`
45- Support new `font` resource type.
46
Adam Lesinski5cb05302016-09-06 17:34:06 -070047## Version 2.2
48### `aapt2 compile ...`
49- Added support for inline complex XML resources. See
50 https://developer.android.com/guide/topics/resources/complex-xml-resources.html
Alexandria Cornwall77788eb2016-09-06 15:16:49 -070051### `aapt link ...`
52- Duplicate resource filtering: removes duplicate resources in dominated configurations
53 that are always identical when selected at runtime. This can be disabled with
54 `--no-resource-deduping`.
Adam Lesinski5cb05302016-09-06 17:34:06 -070055
Adam Lesinski36c73a52016-08-11 13:39:24 -070056## Version 2.1
57### `aapt2 link ...`
58- Configuration Split APK support: supports splitting resources that match a set of
59 configurations to a separate APK which can be loaded alongside the base APK on
60 API 21+ devices. This is done using the flag
61 `--split path/to/split.apk:<config1>[,<config2>,...]`.
62- SDK version resource filtering: Resources with an SDK version qualifier that is unreachable
63 at runtime due to the minimum SDK level declared by the AndroidManifest.xml are stripped.
64
Adam Lesinski0368ebf2016-07-26 12:55:51 -070065## Version 2.0
66### `aapt2 compile ...`
67- Pseudo-localization: generates pseudolocalized versions of default strings when the
68 `--pseudo-localize` option is specified.
69- Legacy mode: treats some class of errors as warnings in order to be more compatible
70 with AAPT when `--legacy` is specified.
71- Compile directory: treats the input file as a directory when `--dir` is
72 specified. This will emit a zip of compiled files, one for each file in the directory.
73 The directory must follow the Android resource directory structure
74 (res/values-[qualifiers]/file.ext).
75
76### `aapt2 link ...`
77- Automatic attribute versioning: adds version qualifiers to resources that use attributes
78 introduced in a later SDK level. This can be disabled with `--no-auto-version`.
79- Min SDK resource filtering: removes resources that can't possibly be selected at runtime due
80 to the application's minimum supported SDK level.