Fix crash loop due to broken packages.xml around updated-package
Symptom: Device cannot boot up due to NPE during package scan. Root Cause: /data/system/packages.xml is broken with an unexpected <updated-package> element even though there's no corresponding <package> element. When a system apk is installed, the system apk is registered as a <package> element in the packages.xml. When updated with a newer apk in /data, the data apk is registered as a <package> and the system apk is moved to <updated-package>. If a user triggers "Uninstall updates" but the device cannot complete uninstallation processing due to any critical problem like system freeze, the package.xml can be broken because the <package> for the data apk is removed once but the <updated-package> for the system apk remains wrongly. Solution: In this case, this change ignores the inconsistent <updated-package> and installs the system apk as non-updated system app. Test: forcibly stop "Uninstall updates" processing with JDB as described in b/143251299 and check system restart behavior Bug: 143251299 Change-Id: I48b6957d19f5d60d08d2e5ba48fa1d7bf42fdcfe
Loading
Please register or sign in to comment