Make sure art_boot runs before odsign.
It's necessary to have the right dalvik.vm.* flags in place when they
are validated by odrefresh.
Test: Boot and verify that art_boot starts and finishes before odsign.
Test: adb root
adb shell setprop \
persist.device_config.runtime_native_boot.useartservice false
adb shell setprop \
persist.device_config.runtime_native_boot.disable_compact_dex \
true
adb reboot
- Check that dalvik.vm.useartservice=false (propagated by art_boot).
- Check that odrefresh has recorded dalvik.vm.useartservice=false and
persist.device_config.runtime_native_boot.disable_compact_dex=true
in /data/misc/apexdata/com.android.art/dalvik-cache/cache-info.xml.
(Changing the 2nd property is necessary to trigger odrefresh.)
Bug: 281850017
Change-Id: If1e02731d47456e14ec8e038ce1ede4d5dae25f8
(cherry picked from commit 7a774a0acb9a2dedfb92416b59ea4c32864d3ac6)
Merged-In: If1e02731d47456e14ec8e038ce1ede4d5dae25f8
diff --git a/build/apex/art.rc b/build/apex/art.rc
index 22eb4b2..563ee97 100644
--- a/build/apex/art.rc
+++ b/build/apex/art.rc
@@ -22,6 +22,8 @@
group artd
capabilities DAC_OVERRIDE DAC_READ_SEARCH FOWNER CHOWN
+# Run at boot in Android U and later.
service art_boot /apex/com.android.art/bin/art_boot
+ disabled # Started explicitly from system/core/rootdir/init.rc
oneshot
class core