Move secondary dex files processing in the app process
Run the validation and processing of secondary dex files with the app
process capabilities. This drops the need to validate/use real paths since
all file tests and accesses is done now with lower privileges.
The oat files and profiles are now created relative to the given path
instead of using realpath. This allows us to always know where the
compiler artifacts are even if the original dex file was deleted. It
enables a straightforward clean up during reconciliation.
The validation will accept /data/user/0 as a valid secondary dex path
since for user 0 this is the location that will be used most of the times.
This CL also adds a test framework for dexopt related functionality.
The current tests only cover the secondary dex files with more to come.
Bug: 64460009
Test: adb shell cmd package reconcile-secondary-dex-files
com.google.android.googlequicksearchbox (after removing some files)
adb shell cmd package compile -m speed --secondary-dex
com.google.android.googlequicksearchbox
adb shell /data/nativetest64/installd_utils_test/installd_utils_test
Change-Id: I0d49cd7f3c089bc5156178680bb29b75ab82092c
7 files changed