From 6f2978c9fcb8a360a094cc126f4819aec5179ae2 Mon Sep 17 00:00:00 2001 From: Jason O'Brien Date: Wed, 8 Jan 2020 11:03:37 -0600 Subject: [PATCH] Add instrumented app to JAR path (isolated splits) The base APK is loaded during normal execution even when isolated splits are requested. This preserves that behavior during instrumented tests, which previously skipped the base APK (causing class loading errors). Test: tested on device with a trivial automated instrumented test Bug: 146183755 Change-Id: Ia54072ee91b7c06cb4a787a8954ad2e69b322cac --- core/java/android/app/LoadedApk.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java index 70262b08dcc95..0c5e67cd4c6a4 100644 --- a/core/java/android/app/LoadedApk.java +++ b/core/java/android/app/LoadedApk.java @@ -464,6 +464,9 @@ public final class LoadedApk { || appDir.equals(instrumentedAppDir)) { outZipPaths.clear(); outZipPaths.add(instrumentationAppDir); + if (!instrumentationAppDir.equals(instrumentedAppDir)) { + outZipPaths.add(instrumentedAppDir); + } // Only add splits if the app did not request isolated split loading. if (!aInfo.requestsIsolatedSplitLoading()) { @@ -472,7 +475,6 @@ public final class LoadedApk { } if (!instrumentationAppDir.equals(instrumentedAppDir)) { - outZipPaths.add(instrumentedAppDir); if (instrumentedSplitAppDirs != null) { Collections.addAll(outZipPaths, instrumentedSplitAppDirs); }