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/compile/Compile.cpp
|
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/compile/Compile.cpp
|
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/compile/Compile.cpp
|
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/compile/Compile.cpp
|
52364f7ae31716d7827ea8f8566f4a28bd30a921 |
|
11-Jan-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Variety of small fixes to get the build working - Add option to rename package in AndroidManifest.xml - Support default versionName and versionCode - Accept True and False as valid booleans Change-Id: I400e350b9dcd0fd1c197d1929144299c7823617d
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
979ccb2e6f3f1f7f00a448eb440a85daf033dc9e |
|
11-Jan-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Warn when positional arguments exist and --legacy is on This is normally an error, but old AAPT didn't check for it correctly, so many projects violate this. With --legacy, this becomes a warning. Change-Id: I23647e029930e11b719591cd38609e1b43247e20
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
7751afc796842bbb24bfbb19bd0fee4a7b7c8a4e |
|
07-Jan-2016 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix product support Previously the default product wasn't tried if 'default' wasn't specified on the command line. Also adds support for multiple products. Change-Id: I1e4872b34bb8d609b6444841a4e7e4dbb3bbb76b
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
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/compile/Compile.cpp
|
a40e972fdaa68fc486ff90a319195515819068b2 |
|
25-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Support compiling a res/ directory and output to zip This allows us to compile an entire directory and output to a single file. This is important to support generated resources in the make build, since we may not know what resources get generated. The link step will accept the zip and read the contents of it as if they were passed in on the command line. Change-Id: If1a51b0abe772350c24074353eb4989953c2e0cb
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
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/compile/Compile.cpp
|
83f2255f69729e0e97539e96e5e6161843e85823 |
|
07-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Disambiguate merging of resources Merging local app resources is slightly different than merging resources from a static library. Local app resources may not have a package name set, but we do take interest in the ID set for the package (should be 0x0 or match the ID of the app we're building). Static library resources have an explicit package name defined for them, so we only merge resources from that package. Change-Id: I95e559ae94cc1df6972e77a347b1b37a93674c4d
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
9f22204c3a9ddac4f92573c9ab098e6cf3ed1cb4 |
|
04-Nov-2015 |
Adam Lesinski <adamlesinski@google.com> |
AAPT2: Fix small issue with detecting translatable resources Change-Id: Idd21b5de4d20be06c6f8c8eb5a22ccd68afc4927
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
9ba47d813075fcb05c5e1532c137c93b394631cb |
|
13-Oct-2015 |
Adam Lesinski <adamlesinski@google.com> |
Filter products during compile phase Unfortunately there is no good way to deal with products in the link phase. Products are like preprocessor defines in that they are processed early and change the composition of the compiled unit. Change-Id: I6d5e15ef60d29df8e83e059ba857c09333993779
/frameworks/base/tools/aapt2/compile/Compile.cpp
|
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/compile/Compile.cpp
|