History log of /frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
f7db43ee354a9cbda937e642952d8b3ac4ca66c4 13-Mar-2018 corysmith@google.com <corysmith@google.com> Writes the resource table proto out when writing a LoadedApk.

Small fixes for consistancy to use constants instead of strings.

Change-Id: I33439c376e1634b7957730ce16e241b0f5bb92f8
Fixes: 74594854
Test: Manual, tested against blaze test //javatests/com/google/devtools/build/android:UnitTests
/frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.cpp
cb6c3f9b880160c35785b1780b282fdf92952b90 27-Nov-2017 Shane Farmer <safarmer@google.com> AAPT2: Push more configuration code into the parser

When parsing is complete, we now have a list of output artifacts that
have their referential integrity validated. This means that once the
configuration file is parsed, the only errors that can occur are related
to APK processing, and not the configuration itself.

This reduces the number of errors that could cause a partial output of
APK artifacts. It simplifies the public API and reduces the complexity of
the code to generate multiple APKs.

Test: Ran unit tests
Test: manually ran the optimize command to ensure it still works

Change-Id: I3f2d885b207a84c958f5348a4baa6718598184a4
/frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.cpp
20ac034086b641dbd93df3e4c63b2600cc3aa260 30-Nov-2017 Shane Farmer <safarmer@google.com> AAPT2: Specify the output APK in log messages

Extend the context wrapper to allow it to also know the current artifact
that is being generated and to use that as a source for diagnostics
messages.

Test: ran unit tests
Test: manually ran optimize to split and APK and verified log messages

Change-Id: I1d66dacb38db58d57d2fffaa19f5fdaff9f908df
/frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.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/optimize/MultiApkGenerator_test.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/optimize/MultiApkGenerator_test.cpp
3edd47264335cf609ac6e733db77522f7c959c3f 01-Sep-2017 Shane Farmer <safarmer@google.com> AAPT2: Set the minSdkVersion when generating multiple APKs.

When generating multiple APKs from a configuration file, check to see if
we have filtered resource by minSdkVersion and update the manifest to
reflect this. We only want to inflate and modify the manifest file if
there is an update to be applied.

Bug: 37944703
Bug: 67005138

Test: Ran unit tests
Test: Manually split an APK and verified the manifest by dumping with
AAPT (both xmltree and badging).

Change-Id: I64a0e4889d7d9e57373369b044a091287b06cc35
/frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.cpp
efe45392c300f922e8328281a0aab8260c1d171d 21-Aug-2017 Shane Farmer <safarmer@google.com> AAPT2: Multi APK generator by version

- Added an additional axis for generating a multi-apk split by minimum
Android SDK version. This removes any resources that will not be used
for the desired minimum SDK version. If there are multiple resources
that would be valid for any version newer than the requested minimum,
then all would be kept so that the best match can be found.

- Added a context wrapper to set the appropriate Android SDK version for
each generated artifact.

- Split out the FilterTable method to allow it to be directly tested
without the need to mock the APK writing steps.

Test: Unit tests
Test: manually run optimize command

Change-Id: I7e6018df081af9ed5d9e8aaf40ed216c1275f138
/frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.cpp
0a5b201156f1dd01a7da7b7674798ed57cfafc5a 22-Jun-2017 Shane Farmer <safarmer@google.com> AAPT2: Add a APK filtering.

Allow resource files to be removed from the final artifact based on the
density and locale configuration in the config file. The APK is split
along the density, locale and ABI axis. Each split is generated from the
original APK without modifying the original. The new resource table is
written back to the file system with unneeded assets etc removed.

Test: Unit tests
Test: Manually run optimize command against an APK and inspect results
Test: Installed split searchlite APK (after resigning) and ran on N6

Change-Id: If73597dcfd88c02d2616518585d0e25a5c6a84d1
/frameworks/base/tools/aapt2/optimize/MultiApkGenerator_test.cpp