Don't use apexd when TARGET_FLATTEN_APEX == true
When TARGET_FLATTEN_APEX is true (= ro.apex.updatable is unset or set to false), apexd is not used to activate the built-in flattened APEXes. Init simply bind-mounts /system/apex to /apex. However, there is a special case here. The runtime APEX is installed as either /system/apex/com.android.runtime.debug or /system/apex/com.android.runtime.release, whereas it should be activated on /apex/com.android.runtime - without the .debug or .release suffix. To handle that case, the build system creates an empty directory /system/apex/com.android.runtime and the .debug or .release directory is bind-mounted to the empty directory by init at runtime. This change also fixes a minor bug that native watchdog is triggered for all post-apexd processes regardless of whether ro.apex.updatable is true or not. Since apexd is expected to shutdown itself when ro.apex .updatable is false, we don't trigger the watchdog in that case. Bug: 132413565 Bug: 133305381 Test: marlin and sdk_gphone are bootable Merged-In: I219465b8b81decb960e2c5f46bab6e0768b31317 Change-Id: I219465b8b81decb960e2c5f46bab6e0768b31317 (cherry picked from commit f93088ba)
Loading
Please register or sign in to comment