Allow OTA even when ART Service is enabled.
Make sure we don't get LegacyDexoptDisabledException during the OTA
preinstall, more specifically when
OtaDexoptService.generatePackageDexopts runs.
This code only collects command invocations for the otapreopt_chroot
binary in frameworks/native/cmds/installd, which through another
otapreopt binary uses the legacy installd dexopt code. IOW,
LegacyDexoptDisabledException does not guard that legacy code from
being executed in the prereboot OTA stage, but it only affects dexopt
artifacts for the other OTA slot.
Test: m dist
system/update_engine/scripts/update_device.py out/dist/*-ota-eng.*.zip
# Check logcat that update_engine completes
adb shell setprop persist.pm.mock-upgrade true
adb reboot
# Check logcat that update_engine completes
with dalvik.vm.useartservice=true
Test: m AppUsingOtherApp AppUsedByOtherApp
adb install out/target/product/vsoc_x86_64/testcases/AppUsedByOtherApp/x86_64/AppUsedByOtherApp.apk
adb shell pm snapshot-profile android.compilation.cts.appusedbyotherapp
adb pull data/misc/profman/android.compilation.cts.appusedbyotherapp.prof
mv android.compilation.cts.appusedbyotherapp.prof primary.prof
zip - primary.prof > AppUsedByOtherApp.dm
adb install-multiple out/target/product/vsoc_x86_64/testcases/AppUsedByOtherApp/x86_64/AppUsedByOtherApp.apk AppUsedByOtherApp.dm
adb install out/target/product/vsoc_x86_64/testcases/AppUsingOtherApp/x86_64/AppUsingOtherApp.apk
adb shell am instrument -w --user 0 android.compilation.cts.appusingotherapp
with dalvik.vm.useartservice=true
Bug: 251903639
Change-Id: If7a91ba3d8038d1717c734c5afb092ab989bca49
Loading
Please register or sign in to comment