History log of /frameworks/base/tools/aapt2/Android.mk
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
2427dce8205607a107880e13b4cdf1caa07cc425 01-Dec-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix issue where exported symbols (@+id/*) were not exported

Test: make AaptTestAppOne
Change-Id: If3218c880e83c2cfaf535a099db38504471be676
/frameworks/base/tools/aapt2/Android.mk
04465e7f252eb1531c9387bbb4bc5170e685087d 02-Nov-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Introduce command to run unit tests

This command will execute the aapt2_tests with a parameter
to emit XML test results into the out/dist directory.

Test: manual
Change-Id: I10cf119bb47b7698ddd91b1adf7323e51d169970
/frameworks/base/tools/aapt2/Android.mk
191602091bafb08228a6d3708871c314faff681e 12-Jan-2017 Fabien Sanglard <sanglardf@google.com> AAPT2: Convert Android.mk to Android.bp

Change-Id: I6c563993b57e3f04165ca57743f9a2878aba556c
/frameworks/base/tools/aapt2/Android.mk
3497b265076f338e320fcf01d3e46379492669b2 01-Nov-2016 Paulo Casanova <pasc@google.com> Added Windows support for aapt/JNI.

This includes copying and slightly modifying
libnativehelper's ScopedUtfChars' implementation.

Test: Done in studio-master-dev
Change-Id: I2aacc67b444668478aaa5bb0db991a201c571d1f
/frameworks/base/tools/aapt2/Android.mk
ce5e56e243d262a9b65459c3bd0bb9eaadd40628 22-Oct-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Rename to match new style

Use Google3 naming style to match new
projects' and open source google projects' style.

Preferred to do this in a massive CL so as to avoid
style inconsistencies that plague legacy code bases.
This is a relatively NEW code base, may as well keep
it up to date.

Test: name/style refactor - existing tests pass
Change-Id: Ie80ecb78d46ec53efdfca2336bb57d96cbb7fb87
/frameworks/base/tools/aapt2/Android.mk
255960857d7682fdad4fe461ac1348b618d1dbb2 07-Oct-2016 Paulo Casanova <pasc@google.com> Added JNI interface for aapt2.

Test: None (tests will be made on the Android Studio Tools project)
/frameworks/base/tools/aapt2/Android.mk
56f823be9ad6626234300e7c787a74eb0186ee18 10-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 66f15cc01b am: 5a989a504a am: 39ad1b92fa
am: 437b8c95a8

Change-Id: Idacd1cad6e0e241404c99b680974aae2b8f81926
437b8c95a803736a8917bd2b89c5653ba48976b6 09-Oct-2016 Elliott Hughes <enh@google.com> Merge "Rely on the platform -std default." am: 66f15cc01b am: 5a989a504a
am: 39ad1b92fa

Change-Id: Iec4bca8e96c776d61c5da5540a74acc6773c2bce
c08e32e0beb52400e3957f03429b83bbee1832de 08-Oct-2016 Elliott Hughes <enh@google.com> Rely on the platform -std default.

Bug: http://b/32019064
Test: builds
Change-Id: I7180f1eb539ff8cbe33832d010775f053a922946
/frameworks/base/tools/aapt2/Android.mk
ffa9656223c974191255dff3960f45e134f97c8c 03-Oct-2016 Adam Lesinski <adamlesinski@google.com> Merge "AAPT2: Refactor PngCrunching"
77788eb4cf0c5dba0f7370192e40364fe853050a 07-Sep-2016 Alexandria Cornwall <acornwall@google.com> AAPT2: Add dominator tree analysis and resource removal

Added dominator tree analysis of resource configurations for each
resource entry to allow deduping of resource entries if:

1. The configuration for the resource entry's value is dominated by
a configuration with an equivalent entry value.

2. All compatible configurations for the entry (those not in conflict
and unrelated by domination with the configuration for the entry's
value) have an equivalent entry value.

Bug: 30051199
Test: make libaapt2_tests && libaapt2_tests
Change-Id: I66468d3014a2d6097a94b039ac1028f9f461c7d3
/frameworks/base/tools/aapt2/Android.mk
21efb6827cede06c2ab708de6cdb64d052dddcce 15-Sep-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Refactor PngCrunching

PngCrunching now has a slightly better heuristic of choosing to encode
an image as a palette or RGB. For small images, RGB compresses much better
than a palette.

The original PNG is used as-is (minus some optional chunks being stripped)
if the resulting crunched PNG is larger than the original.

9-patch handling is abstracted away from PNGs, paving the way
for other 9-patches, like WebP.

TODO: handle PNGs with 9-patch chunks already present, which
should just be passed through. This will allow for 3rd party
tools to generate 9-patches.

TODO: implement cheap transparency: when one color is used to represent
transparent, and all other colors are opaque.

Bug:30053276
Change-Id: I5167f53b91d1efa462d9f03d6b9108d9b541c0c1
/frameworks/base/tools/aapt2/Android.mk
c7ca55e27bc2c3884267a0dd4616a5ed22c191c2 23-Sep-2016 Paulo Casanova <pasc@google.com> Added building libaapt2_jni.so.

Change-Id: Ica2769c08b4bb5c6cceebb8052c0dd7817ef4586
/frameworks/base/tools/aapt2/Android.mk
871f2f5fc2a5664758a93408622ddb6defaa1052 02-Sep-2016 Adam Lesinski <adamlesinski@google.com> Merge "AAPT2: Add Inline Complex XML support"
5eeaaddffd23d8d85aeb321e3ceea626e42cf9de 25-Aug-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Add Inline Complex XML support

See: https://developer.android.com/guide/topics/resources/complex-xml-resources.html

Change-Id: I8274c85e25cabf90423141c228697e873167d136
/frameworks/base/tools/aapt2/Android.mk
7fd4eb7ff7ae637d984ed1d75672b018011c598d 31-Aug-2016 Colin Cross <ccross@android.com> Merge "Replace libziparchive-host with libziparchive" am: 611e205bbe am: 8c8bb25089 am: 63dc310e6a
am: e3cd4b394c

Change-Id: Icc088a0cdd6a2ebc2b7bedb719ad7220d947273d
e3cd4b394c6334eb828e5bbc4d69de2896b76678 26-Aug-2016 Colin Cross <ccross@android.com> Merge "Replace libziparchive-host with libziparchive" am: 611e205bbe am: 8c8bb25089
am: 63dc310e6a

Change-Id: I645d077dd656f84446f77fd91c169fd7b977e661
9a1a3bcb164d331480100bd815f3bd89230ff9bc 26-Aug-2016 Colin Cross <ccross@android.com> Replace libziparchive-host with libziparchive

libziparchive-host is no longer necessary, and mixing libziparchive-host
and libziparchive can cause ODR violations.

Change-Id: I623c0c5579e28f26a6e1db7bd953f33ed1ca68cd
/frameworks/base/tools/aapt2/Android.mk
a7cc3f1d79eb7a02a68928381998137f2f9b10a3 16-Aug-2016 Alexandria Cornwall <acornwall@google.com> AAPT2: Add support to strip namespaces from XML

The --no-xml-namespaces flag will strip namespace information from
compiled binary XML files in res/* (excluding res/raw/*) and
AndroidManifest.xml. It will also strip URI information from compiled
binary XML files in res/* (excluding res/raw/* and AndroidManifest.xml).

AndroidManifest.xml URI information is retained due to PackageParser, which
requires the Android URI for intent filters.

Bug: 29115919
Change-Id: I90cad6ed39ce02a69776f55314c1d4f38ad1aabe
/frameworks/base/tools/aapt2/Android.mk
3b16cf057ac8e97df25f84cd33ce874a32fd8b5b 02-Aug-2016 Dan Willemsen <dwillemsen@google.com> Rename libprotobuf-cpp-lite_static to libprotobuf-cpp-lite am: 2005edf642 am: 4ee22dd083
am: 77508b9c19

Change-Id: Ifb0fef3c2dfaef7b19e2f03dbbdce41431a51a2f
77508b9c19af256f4b27ff8cc9ebc7b2cd9e123f 02-Aug-2016 Dan Willemsen <dwillemsen@google.com> Rename libprotobuf-cpp-lite_static to libprotobuf-cpp-lite am: 2005edf642
am: 4ee22dd083

Change-Id: I5a9006361b3ded4eaf03b1362a0dfa2aa36fdb2e
2005edf64252a851cc256e71fbf99f84c9eb72ad 01-Aug-2016 Dan Willemsen <dwillemsen@google.com> Rename libprotobuf-cpp-lite_static to libprotobuf-cpp-lite

Use the same name for the static and shared libraries so that the module
definitions can be shared.

Change-Id: I1578ee7044689194ae1baea4d71f1b0e8737505f
/frameworks/base/tools/aapt2/Android.mk
d0f116b619feede0cfdb647157ce5ab4d50a1c46 09-Jul-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Remove usage of u16string

For legacy reasons, we kept around the use of UTF-16 internally
in AAPT2. We don't need this and this CL removes all instances of
std::u16string and StringPiece16. The only places still needed
are when interacting with the ResTable APIs that only operate in
UTF16.

Change-Id: I492475b84bb9014fa13bf992cff447ee7a5fe588
/frameworks/base/tools/aapt2/Android.mk
fb6312fe93a8544e6a95d1c619c8cea3940cbe1a 28-Jun-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Add version collapsing

When an app specifies (or imports) resources with various
configurations for different SDK versions, specifying
a minSdk will make many of those resources unreachable.

Version collapsing will prune out the resources specified
for SDK versions less than the minSdk.

If, however, there is no exact matching resource for the
minSdk version, the next smallest SDK version is kept.

Change-Id: Ic7bcab6c59d65c97c67c8767358abb57cdec60a4
/frameworks/base/tools/aapt2/Android.mk
458b877488c12ea4336d8fc00a95d9c0298bd6d0 25-Apr-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Add diff command

Adds the diff command and various small fixes to issues
discovered when diffing old AAPT built APKs with new AAPT2
built APKS.

Bug:22775504
Change-Id: I682a7fe1cf4b3efa7cbd5d18b333cf2d1046fe1b
/frameworks/base/tools/aapt2/Android.mk
803c7c807969bea1f1c50f348832f5b60ad05d8e 07-Apr-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Enable windows build and make sure it builds

Mingw32 4.8 is kind of picky with macros and some complicated template
stuff. Luckily there was another way to represent the
SFINAE code that works on all platforms. Yay!

Change-Id: Idc2e38f47bfdc57b394550bfa0f53cc0b825df25
/frameworks/base/tools/aapt2/Android.mk
cc5609d8e484ec82ef1dced793af7f674f059b1c 05-Apr-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Implement XmlActionExecutor to verify manifest

Defines a set of actions to perform on XML elements defined by their
hierarchy, eg: manifest -> application -> activity.

This can be used to easily add rules to check more tags in AndroidManifest.xml

Change-Id: I76c6916a98b6403075a7e56e16230979dc6cbee1
/frameworks/base/tools/aapt2/Android.mk
6cbfb1de493e42d937158ed57495c9656864ccba 31-Mar-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Change how we generate Java classes

Previously we would be writing out the Manifest.java file as we
processed the AndroidManifest.xml. This would lead to empty
Manifest classes if there were no permissions or permission groups
defined in the AndroidManifest.xml.

This would pose problems for processes that checked for public classes
and considered them part of the API (support lib).

Now we collect the structure of the Java class in memory before deciding
if a file should be created.

Change-Id: I6b909f28d74356414c6ef5ad005180d6ea5e44ca
/frameworks/base/tools/aapt2/Android.mk
f4ab612684ebc139b53dcc4960f99d9c025d7c8c 11-Mar-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: statically link protobuf library

Change-Id: I0bce42dfef2f11181c6407839875c97f88445dbd
/frameworks/base/tools/aapt2/Android.mk
96917c25f09bb2f33e22f20cdfa4ece8f310b084 09-Mar-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix file::mkdirs when given absolute paths

file::mkdirs would try to extract the first part of the
path '/path' which would be the empty string ''. Mkdir would
fail creating the empty string directory.

Change-Id: Ice8ba92135f145f52f3663499a2c49eebe797328
/frameworks/base/tools/aapt2/Android.mk
64587af8179affd38ee26543b748f2d63b7f67bb 19-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Support building, linking, and merging static libraries

Android static libraries are like APKs but they contain much more debugging
and source information. We need to treat them differently in 3 ways:

1) When building a static library, we skip things like ID assignment and
product/config stripping. Source information is emitted as well.
2) When building a static library and linking against another
static library, we don't want to merge, we want to simply reference.
3) When building an app that uses static libraries, we want to merge
the static library under the same package with or without mangling.

Bug:25958912
Change-Id: I425e032857936a3e83173c1edc2a6cdc6020b842
/frameworks/base/tools/aapt2/Android.mk
355f285ffd000f6cfe76680eb22d010546d124bb 14-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Implement density stripping and initial Split support

When a preferred density is supplied, the closest matching densities
will be selected, the rest stripped from the APK.

Split support will be enabled in a later CL. Command line support is still
needed, but the foundation is ready.

Bug:25958912
Change-Id: I56d599806b4ec4ffa24e17aad48d47130ca05c08
/frameworks/base/tools/aapt2/Android.mk
e4bb9eb5af5b0899dc0921d5580220b20e15bd5a 13-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Introduce notion of 'product' to ResourceTable

This allows us to preserve the various product definitions during the compile
phase, and allows us to select the product in the link phase.

This allows compiled files to remain product-independent, so that they do not need
to be recompiled when switching targets.

Bug:25958912
Change-Id: Iaa7eed25c834b67a39cdc9be43613e8b5ab6cdd7
/frameworks/base/tools/aapt2/Android.mk
59e04c6f92da584b322c87072f18e6cab4de4c60 05-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Switch to protobuf for intermediate format

Without needing to conform to the runtime data format,
it is much easier to add new features such as debugging symbols
and carrying over product data to link time.

This also simplifies the runtime format parser and serializer,
which will change much less frequently than the protobuf intermediate
format.

Change-Id: I209787bbf087db0a58a534cb8511c51d21133e00
/frameworks/base/tools/aapt2/Android.mk
6a008170cb18666e04c42856f992fc7a0afa1e1f 03-Feb-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Support -c configuration filtering

Change-Id: I1e5855ca73440bdc30c21bcbc1dfdd31a9842363
/frameworks/base/tools/aapt2/Android.mk
393b5f0d6130d3848dd82075986a5cf40c09ce44 17-Dec-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Port AAPT pseudolocalization to AAPT2

Pseudolocalization happens at the compile phase. Pseudolocalized
values are weak, such that manually specified values will take precedence.

Change-Id: I5e064ce0d270c9f4f9022f75aecedab9d45bc980
/frameworks/base/tools/aapt2/Android.mk
a6fe345be955368a13aea76aefb4db821aad11df 10-Dec-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix overlay support

Supports the <add-resource> tag and mimics old AAPT behavior of
not allowing new resources defined unless <add-resource> was used
or --auto-add-overlay was specified.

Change-Id: I9b461137357617ade37fd7045b418b8e6450b9c4
/frameworks/base/tools/aapt2/Android.mk
467f171315f9c2037fcd3eb5edcfabc40671bf7b 17-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Fail compiling when private symbols are referenced

Also moved some XML specific stuff into its own directory,
and refactored ReferenceLinker a bit.

Change-Id: I912247a82023c1bbf72dc191fbdaf62858cbec0c
/frameworks/base/tools/aapt2/Android.mk
b274e35abfbbd09e0fce983a215c11522c56cce2 07-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix inclusion of comments in R.java javadoc

Comments weren't being copied when merged from the various
resource tables.

Also refactored the JavaClassGenerator to omit a class
if no entries exist for it.

Change-Id: I6eaa89b7b3715bc05403635a2baf0d1db3efd142
/frameworks/base/tools/aapt2/Android.mk
2ae4a877d1623f851040ce69239552c873f1abf0 03-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add Manifest fixing/validation

Change-Id: I7f6d8b74d1c590adc356b4da55cb6cb777cdf1da
/frameworks/base/tools/aapt2/Android.mk
ca5638fd85098c3d0a699492751043545f75553a 21-Oct-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Support generating Manifest.java

This includes comments from AndroidManifest.xml.

Change-Id: I412d9ecb12bad20a49a683d6b3bea4a0be1235ae
/frameworks/base/tools/aapt2/Android.mk
1ab598f46c3ff520a67f9d80194847741f3467ab 14-Aug-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Separate out the various steps

An early refactor. Some ideas became clearer as
development continued. Now the various phases are much
clearer and more easily reusable.

Also added a ton of tests!

Change-Id: Ic8f0a70c8222370352e63533b329c40457c0903e
/frameworks/base/tools/aapt2/Android.mk
51348d2007b801c7bd7350f72e2300f1a5a41dd1 21-Jul-2015 Elliott Hughes <enh@google.com> aapt: expat exports its header files now.

Change-Id: Iddf0133919d38fc896f97c6796f8228a6decf174
/frameworks/base/tools/aapt2/Android.mk
a1ad4a812a87642ad259ff4478159e8cc8194680 08-Jun-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Proguard rules generation added.

Change-Id: Ifbe79516cd9a1ade471e211a259301c63b62ac67
/frameworks/base/tools/aapt2/Android.mk
8c831ca87bb7c8699b2a5cb34b8d35deedf9ce4e 21-May-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add manifest merging

Now that AAPT2 is library-aware, it needs to take care of
all library related work, including merging manifests.
The logic was taken from the current Java ManifestMerger.

Change-Id: Id93f713f27ae8617922bf89e325e45be9f863c06
/frameworks/base/tools/aapt2/Android.mk
75f3a55cc569a9b61f540a85d9828e91bdca5047 03-Jun-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Change xml file parsing to DOM based

We modify the XML of layouts and AndroidManifest enough
that it warrants we operate on the tree in memory.
These files are never very large so this should be fine.

Change-Id: I5d597abdb3fca2a203cf7c0b40fcd926aecb3137
/frameworks/base/tools/aapt2/Android.mk
330edcdf1316ed599fe0eb16a64330821fd92f18 05-May-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Support static lib referencing static lib

When a static library A references static library B,
and app C references both A and B, we get the following symbol merging,
symbols from library B get imported twice.

We must only check that symbol references to library B are valid
when building library A. We should only merge all the symbols
when building final app C.

Change-Id: I23cba33b0901dcbb5328d9c9dfaa6a979c073c36
/frameworks/base/tools/aapt2/Android.mk
d1808401ca3bfd6b6b9a975c1e739b194d18f849 05-May-2015 Prerepa Viswanadham <dham@google.com> Merge changes from topic 'mwd-merge-050415' into mnc-dev

* changes:
Merge commit 'b6f59f4' into master_merge
Merge commit 'f6db0ce' into master_merge
Merge commit '17455a3' into master_merge
Merge commit 'b4d5b32' into master_merge
Merge commit 'a1a2fa7' into master_merge
Merge commit '8dfdb98' into master_merge
Merge commit 'eba66c3' into master_merge
24aad163bc88cb10d2275385e9afc3de7f342d65 25-Apr-2015 Adam Lesinski <adamlesinski@google.com> Add namespace handling in attribute values

Previously, you could only reference namespace prefixes in attribute names:

<View xmlns:appcompat="http://schemas.android.com/apk/res/android.support.v7.appcompat"
appcompat:name="hey"
...

Now you can also reference them in resource names within an attribute value:

...
android:text="@appcompat:string/confirm"
...

Which will be treated as "@android.support.v7.appcompat:string/confirm".

Change-Id: Ib076e867a990c80cf877a704eb77cd1ef0b23b52
/frameworks/base/tools/aapt2/Android.mk
231e054dfd9dfc2e51ecd41dca5e8d93ae648954 29-Apr-2015 Narayan Kamath <narayan@google.com> Add a libbase static depedency for aapt2.

Required by libziparchive.

Change-Id: Ifa33c9e44ebd583cf58b8a1239061c613fde92bc
/frameworks/base/tools/aapt2/Android.mk
769de98f2dd41bfe39a1c9f76aefd1ad58942733 11-Apr-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add library support

Change-Id: I307f56d9631784ab29ee4156d94886f9b2f25b30
/frameworks/base/tools/aapt2/Android.mk
4d3a987694f6f6b95d8a0f1542618223ce253e6d 10-Apr-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Adding basic binding support

This is incomplete. Still requires:

- filling in layout information in the resulting .bind.xml
- processing elements with <view class=""/>
- processing imports

Change-Id: Ie5d4c5e6435591bbed3248129a548736244894eb
/frameworks/base/tools/aapt2/Android.mk
98aa3ad6e46e3b0270785c8b3f9798e37e8af140 06-Apr-2015 Adam Lesinski <adamlesinski@google.com> Add PNG and 9-patch support

Change-Id: I9ecdfdf82b82d59084490da518e167e256afd5f2
/frameworks/base/tools/aapt2/Android.mk
feefeb4f308261907f5ea5705d66736d45633a27 03-Apr-2015 Adam Lesinski <adamlesinski@google.com> AAPT2 statically link libz on Windows builds

Change-Id: I2abf47273173c470c04e00a54aa619fe1ce0e745
/frameworks/base/tools/aapt2/Android.mk
6f6ceb7e1456698b1f33e04536bfb3227f9fcfcb 14-Nov-2014 Adam Lesinski <adamlesinski@google.com> AAPT2

First checking of AAPT2. The individual phases of AAPT2 work, but there
are some missing pieces.

For early testing we are missing:
- Need to properly mark file references and include them in package
- Need to package into zip

Final AAPT for apps we are missing:
- Need to crush PNGs
- Need to parse 9-patches
- Need to validate all of AndroidManifest.xml
- Need to write align method to align resource tables for splits.

Final AAPT for apps + system we are missing:
- Need to handle overlays
- Need to store comments for R file
- Need to handle --shared-lib (dynamic references too).

New AAPT features coming:
- Need to import compiled libraries
- Name mangling
- R file generation for library code

Change-Id: I95f8a63581b81a1f424ae6fb2c373c883b72c18d
/frameworks/base/tools/aapt2/Android.mk