See build/soong/README.md for more information.
Test: m checkbuild
Change-Id: I417409281c928ea667d937090d2a0d9d72a449a2
Merged-In: I417409281c928ea667d937090d2a0d9d72a449a2
Exempt-From-Owner-Approval: trivial conversion
(cherry-picked from commit e0b2ee52d2)
I suspect this is showing up in this configuration because we're now building
with -std=gnu++14, but still using libstdc++.
frameworks/base/tools/aapt2/link/ProductFilter_test.cpp:76:24: error: chosen constructor is explicit in copy-initialization
ProductFilter filter({});
^~
prebuilts/gcc/linux-x86/host/x86_64-w64-mingw32-4.8/x86_64-w64-mingw32/include/c++/4.8.3/bits/unordered_set.h:132:7: note: explicit constructor declared here
unordered_set(size_type __n = 10,
^
frameworks/base/tools/aapt2/link/Linkers.h:114:58: note: passing argument to parameter 'products' here
explicit ProductFilter(std::unordered_set<std::string> products) : products_(products) {
^
Bug: 69933068
Test: mmma frameworks/base/tools/aapt2
Test: out/host/linux-x86/nativetest[64]/aapt2_tests/aapt2_tests
Change-Id: I2133e364dd11f64fd13239125f8a3eff70ebb69c
BCP 47 uses plus signs for name mangling, and future qualifiers may
start using other reserved characters as well, so we might as well
futureproof the sanitizer.
Change-Id: I1be7ee4234f8e30bb0ea832372b4dc932d30550c
Fixes: 69134786
Test: UtilTest.SplitNamesAreSanitized
(cherry picked from commit 414e48a541)
Android Instant Apps in its current iteration does not use namespaces,
but due to limitations on the Android resource runtime, needs to make
it look like it does.
This is due to a bug that treats any package ID that's not 0x01 or 0x7F
as a shared library. Shared libraries require unique package names.
As a workaround, and since Android Instant Apps can not have a feature
depend on another feature, we can alter the resource package name of a
feature split just before writing it out to disk. This avoids using a
unique package name while linking, thereby avoiding namespace issues.
Bug: 68820737
Test: manual
Merged-In: Ic553ed42656436bbb949393d0248ee7bb9d37860
Change-Id: Ic553ed42656436bbb949393d0248ee7bb9d37860
Android package names are more strict (ASCII only) than Java package names.
Also fixed an issue where trailing underscores were disallowed in Android
package names.
Bug: 68468089
Test: make aapt2_tests
Merged-In: I1052e9e82b6617db6065ce448d9bf7972bb68d59
Change-Id: I1052e9e82b6617db6065ce448d9bf7972bb68d59
Add recursion to InlineXmlFormatParser::Consume for handling nested
aapt:attr
Change-Id: Iabf98945b4f5ef22a3b8fdc4ca2bac092a377629
Fixes: 64385167
Test: make aapt2_tests
(cherry picked from commit 7b6b02bd13)
So that it can be used by java libraries when we turn on dep
verification for host java libraries.
Test: m nothing
Change-Id: Iaa2acfb585db0a67b449e866883f71691395971e
Merged-In: I69a1a826d0bac8ede1f9a337c9c1d930bbcd04f3
Keep strings sorted by configuration so that strings likely
to be selected (all match the same locale, for instance) are
close together.
Bug: 67958501
Test: make aapt2_tests
Change-Id: Id17d93bf2e03ce408a6f619d3ea6dc313e393b76
This will use ckati instead of make for dumping variables, for
consistent makefile parsing. It may also sandbox executions, etc.
Also skip the legacy make wrapper to build, and use soong_ui instead.
The command line arguments are equivalent, but -j is no longer
necessary, we'll default to a sane value.
Test: bit -b framework
Change-Id: Idc2c9d1abe84b6b783b8702925de5493d47a4509
A few OEM devices have introduced a memory corruption bug
that is only triggered when an application's AndroidManifest.xml
uses UTF8 string pools. Workaround this by only encoding
AndroidManifest.xml with UTF16 strings.
Bug: 64434571
Test: manual
Change-Id: I2ee50d1b2b5942d971ef2a544c878de63f67c652
This is the desired behavior if resource IDs may overlap, and also happens to
improve the behavior of:
aapt dump -I base.apk badging feature.apk
when both APKs use the same package name with different package IDs
(base=0x7F, feature=0x80). Previously, the final call to
DynamicRefTable::addMapping was for base.apk, and all references to 0x80 were
rewritten in DynamicRefTable::lookupResourceId to 0x7F. After this
change resources defined in both APKs are resolved correctly.
Note that this is a bit of kludge, and APKs should use different names
to avoid conflating the package IDs.
Fixes: 67070085
Bug: 64058531
Test: manual with sample in b/67070085#comment2
Change-Id: I285adb6f44a297440b08fc7a1f9ad73c700eb9bc
(cherry picked from commit d1ac6e1f9e)
bug: 62421666
Test: Tested with changes for Gradient of VDC.
Change-Id: I07b39721aeaaafd888416a0f71f6cbd5fce97732
(cherry picked from commit ab2a38c03d)