History log of /frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
70414f22dcab1d4ce3c2e9d981f3256a9ba62515 26-Mar-2018 Ryan Mitchell <rtmitchell@google.com> Check the size of the strings in the StringPool before flattening.

Test: Tested for normal functionality when string does not exceed
maximum length and tests for detection of string that is too lonhg for
UTF8i
Bug: b/74176037

Change-Id: Ic71d3671a069e7012e8ca107e79e071499eebbf6
(cherry picked from commit a15c2a8957b9883cb293fdacaeabd7f2e037a0a5)
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
71be70507de9cb619b644e55eda1cc181e3f7e90 13-Dec-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Propagate SPEC_OVERLAYABLE flag to final APK

Resources can be marked as overlayable, which means they can
be overlaid by runtime resource overlays.

This change propagates this state to the final resource table that
is installed on device.

Future work:
- Have the idmap tool respect the overlayable state and ignore
entries that overlay anything else.

Bug: 64980941
Test: make aapt2_tests
Change-Id: Id45b1e141a281be2ee32a4ac3096fcf1114d523b
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
b0643302c78d00db3036707a0df0ae5ce923ae15 02-Dec-2017 Luke Nicholson <lukenicholson@google.com> Enable obfuscation of resource names, with whitelisting support.

Test: Built aapt2, ran optimize on gmail apk with sample whitelist
config file, and flags enabled. Added two unit tests to TableFlattener
covering obfuscation logic.

Change-Id: Iad6329d75ff440121bf1a2cdf09c5f4bf4199d9d
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
490595a5fc1c3618dbbc2da5d421d10c025fabac 08-Nov-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Workaround for feature splits without namespacing

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
Change-Id: Ic553ed42656436bbb949393d0248ee7bb9d37860
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
93190b79d11d874199cfe7258526a48cfc8399fc 03-Nov-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Better debugging output

Test: make aapt2_tests
Change-Id: I7778b773201381538dc1f2e376abee4eb33e44c0
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
8780eb6e4918ae24fb1ae74d631042c32e41dc3d 01-Nov-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Add convert command

This command allows a developer to convert their proto APK
(generated from the link phase using --proto-format) into
a binary APK suitable for use on device.

aapt2 convert -o output.apk input.apk

Test: manual + make aapt2_tests
Change-Id: I10a7c33bb4b57006d01fe00a8bf92f78e04e7e50
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp
4670805ea441edb8b280f9312571e7799f1284cf 29-Sep-2017 Adam Lesinski <adamlesinski@google.com> AAPT2: Move format related files under same directory

Test: make aapt2_tests
Change-Id: Id72cdfc12ba3add294048e60c55f2461344464bf
/frameworks/base/tools/aapt2/format/binary/TableFlattener.cpp