diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java index 9a297d601a6b9..671fb3e6bc2d7 100644 --- a/services/core/java/com/android/server/pm/StagingManager.java +++ b/services/core/java/com/android/server/pm/StagingManager.java @@ -350,13 +350,19 @@ public class StagingManager { Slog.e(TAG, "Aborting checkpoint: " + errorMsg); try { if (supportsCheckpoint() && needsCheckpoint()) { - mApexManager.revertActiveSessions(); + // Only revert apex sessions if device supports updating apex + if (mApexManager.isApexSupported()) { + mApexManager.revertActiveSessions(); + } PackageHelper.getStorageManager().abortChanges( "StagingManager initiated", false /*retry*/); } } catch (Exception e) { Slog.wtf(TAG, "Failed to abort checkpoint", e); - mApexManager.revertActiveSessions(); + // Only revert apex sessions if device supports updating apex + if (mApexManager.isApexSupported()) { + mApexManager.revertActiveSessions(); + } mPowerManager.reboot(null); } }