From 97e150f8e602e82581478ba427498fcce5ed095a Mon Sep 17 00:00:00 2001 From: JW Wang Date: Thu, 26 May 2022 13:44:40 +0800 Subject: [PATCH] Don't persist APEX Invalid UID will cause parsing error in libpackagelistparser which in turn causes the 'run-as' command to fail. APEX packages should never be used with 'run-as'. Bug: 225756739 Fix: 233872653 Test: atest CtsJvmtiAttachingHostTestCases Change-Id: I2a13768f114749f60f1f61a586674a71b84635ed --- services/core/java/com/android/server/pm/Settings.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java index ad303311b1c59..e788c79df3e56 100644 --- a/services/core/java/com/android/server/pm/Settings.java +++ b/services/core/java/com/android/server/pm/Settings.java @@ -2699,6 +2699,11 @@ public final class Settings implements Watchable, Snappable { } continue; } + if (pkg.getPkg().isApex()) { + // Don't persist APEX which doesn't have a valid app id and will cause parsing + // error in libpackagelistparser + continue; + } final boolean isDebug = pkg.getPkg().isDebuggable(); final IntArray gids = new IntArray();