History log of /frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
7cb82a86beda55a178d76dc8dd90d0b01a4b9c91 11-May-2018 Ryan Mitchell <rtmitchell@google.com> AAPT2: Insert platformBuild information

Inserts platformBuildVersionName and platformBuildVersionName when the
attributes are not currrently present. The attributes are set to
the values of versionName and versionCode.

Bug: 77541121
Test: Build apk using aapt and appt2 and dumped using xmltree to confirm
the presence of the attributes
Change-Id: I5330381905c878fb877214b42f83d7e2e48cd062
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
e5b38a676ce0fe6ee08635a7167ee5d76a225a06 23-Mar-2018 Ryan Mitchell <rtmitchell@google.com> Added --debug-mode flag to AAPT2

Bug: 74968793
Test: Tested for correct debuggable attribute presense with and without
flag

Change-Id: I0148d1caba62db8cf258926f1d9e87a849aa283f
(cherry picked from commit 444f9bb6a18ff34b69cba504c8658b7013eaa53a)
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
fca5e427e21f69e42a732600474bb97bf1f0eb7d 21-Dec-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: <uses-library /> and <library /> don't need to be Java packages

- Also fixes issue where a failure checking the Java package of an attribute
would yield no error message.

Bug: 70722199
Test: make aapt2_tests
Change-Id: I417d5ffe18c8d4ba2f1638f9fb9ba29278ec8e94
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
ad9e1324ff2c459d0ee6ee571d4a3e458c02cc81 19-Dec-2017 Izabela Orlowska <imorlowska@google.com> AAPT2: treat manifest validation errors as warnings when asked

Bug: 65670329
Test: updated
Change-Id: Ic554cc20134fce66aa9ddf8d16ddffe0131c50e9
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
c6284379a5dde6bc5927409eff292db2f0add578 04-Dec-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Embed version of framework an app was compiled against.

This change injects the 'android:compileSdkVersion' and
'android:compileSdkVersionCodename' into an app's AndroidManifest.xml,
whose values are dervied from the version name and version code of the
framework AndroidManifest.xml that is being linked against.

Bug: 63388434
Test: make aapt2_tests
Change-Id: I7b607192ecb337307c4bcb5770e7f716c6d4c9d2
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
23034b911c60d4a24ca036436b3a3c138d904255 30-Nov-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Fix overzealous AndroidManifest fully qualified class names

ManifestFixer would go and fully qualify all elements with the attribute
'android:name', which is not correct, especially for cases like

<uses-split android:name="foo" />

Test: make aapt2_tests
Change-Id: I4bea2550d0025179d2d48dca8c64e0cbf4451e99
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
6b372991296c9f2bd6f8f8847dcd23d50970d06d 09-Aug-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Change XmlDom to exclude Namespace as a node

In preparation for exporting an XML proto format for UAM to consume,
this change brings the XML DOM API more in line with other APIs that
do not make the Namespace a separate node.

Treating Namespace declarations as just properties of an Element
node makes the implementation of algorithms much simpler, as
the constraints that Namespace nodes have only one child
are now built in and traversing to find Element nodes
is much simpler.

Also made a bunch of quality of life improvements, like formatting and
comment style.

Test: make aapt2_tests
Change-Id: Ib97ff1c4252b7907e2cc1f13a448dc4ca3b809a4
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
87f1e0fd31585e0117715f451c379d25c5ef7cb8 28-Jun-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Allow <key-sets> tags in AndroidManifest.xml

Bug: 62839863
Test: make aapt2_tests
Change-Id: Ic38fadf3b204bf603f6770643735635cd1f1df7e
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
63699b128e009c65affe50995bd8f86eca1a8694 09-May-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Ignore namespaced elements in AndroidManifest.xml

Some third party stores/tools expect manifest elements
under their namespace, and AAPT2 shouldn't fail if these
are present.

Bug: 37943705
Test: make aapt2_tests
Change-Id: I87b7500c7da5e8e79fc2a78b30e8e4334124af3d
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
86d67df8d57b9537666f9b54a9ca563779a2288b 31-Jan-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Support CtsContentTestCases build

- Add <feature-group> to ManifestFixer.
- Support <meta-data> in <instrumentation>
- Add support for <bag> and type="configVarying". Some CTS tests use this
old notation, we need to support it (even though configVarying isn't
anything supported by the framework convention).

Change-Id: I6946fa633ce513ea8437c1496db883cf27dcf6de
Test: make aapt2_tests
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
d5083f6f6b9bc76bbe64052bcec639eee752a321 17-Jan-2017 Adam Lesinski <adamlesinski@google.com> Move StringPiece to libandroidfw

libandroidfw needs to make use of StringPiece, so
move it to libandroidfw and update all code referencing
StringPiece in aapt2.

Test: make libandroidfw_tests libaapt2_tests
Change-Id: I68d7f0fc7c651b048d9d1f5e7971f10ef5349fa1
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
5119e517308b84011fbd4d1a013296f4f5ffb8e4 06-Dec-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Allow <meta-data> in <manifest>

Bug:32171613
Test: libaapt2_tests
Change-Id: I30fdd9475ff7dff6ceb0ff46a4a00991b72db68b
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
e343eb145c42d00c4fd3fdde93cd0be55cb5b855 28-Oct-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Insert <uses-sdk> element before <application>

PackageParser on the device uses the targetSdkVersion of the
app while it parses <application>. That means that if the
<uses-sdk> tag comes after <application>, the targetSdkVersion
is assumed to be 0.

Test: make libaapt2_tests
Change-Id: I60f2179a7ff44e7419217afb53f3d24f8c030f6e
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
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/link/ManifestFixer_test.cpp
cacb28f2d60858106e2819cc7d95a65e8bda890b 19-Oct-2016 Adam Lesinski <adamlesinski@google.com> Use Google3 style guide with .clang-format

Test: style change only, builds ok
Change-Id: I885180e24cb2e7b58cfb4967c3bcb40058ce4078
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
6b17d2cec2cc3bd97c684b7da490e3f6eab0d980 10-Aug-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Parse coreApp in <manifest> as boolean

Bug:30751662
Change-Id: I283be5725426ee084944c1921df40d1bd6188028
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
58a20a6482a56a262fd83a617482641e3a981db1 26-Jul-2016 Adam Lesinski <adamlesinski@google.com> AAPT2: Change accepted notation for resource names in tests

Previously the way to name resources in tests was to use reference
notation (@[package:][type/]name). Now we use name notation (no @).

Change-Id: I68f0a36562d89cc78c582d128f370d9556c58707
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp
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/link/ManifestFixer_test.cpp
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/link/ManifestFixer_test.cpp
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/link/ManifestFixer_test.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/link/ManifestFixer_test.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/link/ManifestFixer_test.cpp
2ae4a877d1623f851040ce69239552c873f1abf0 03-Nov-2015 Adam Lesinski <adamlesinski@google.com> AAPT2: Add Manifest fixing/validation

Change-Id: I7f6d8b74d1c590adc356b4da55cb6cb777cdf1da
/frameworks/base/tools/aapt2/link/ManifestFixer_test.cpp