summaryrefslogtreecommitdiff
path: root/core/java
diff options
context:
space:
mode:
authorCalin Juravle <calin@google.com>2017-09-01 17:30:01 -0700
committerCalin Juravle <calin@google.com>2017-09-06 23:31:53 -0700
commitda09815e2cd3d3968c66a8d52e620ee07d8204dd (patch)
tree987090c8cc0a862044aac1aa553d565471b2e56a /core/java
parent9174e8772277a749dc06de1e7133d9a16ede2d7d (diff)
Handle configuration splits when creating the class loader context
Configuration splits have no dependencies which can lead to exceptions when computing their class loader context. In general, we do not need to compute the class loader context for apks without code. This CL addresses the issue by ignoring "code" paths with no actual code. Bug: 65159159 Test: adb install-multiple config_splits runtest -x services/tests/servicestests/src/com/android/server/pm/dex/DexoptUtilsTest.java Change-Id: Ida1eb901eecba4a4266de73022f6ee4659367873
Diffstat (limited to 'core/java')
-rw-r--r--core/java/android/content/pm/ApplicationInfo.java4
1 files changed, 4 insertions, 0 deletions
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index 2aa3d09dd479..6792b6bd5dd7 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -718,6 +718,10 @@ public class ApplicationInfo extends PackageItemInfo implements Parcelable {
* Cycles do not exist because they are illegal and screened for during installation.
*
* May be null if no splits are installed, or if no dependencies exist between them.
+ *
+ * NOTE: Any change to the way split dependencies are stored must update the logic that
+ * creates the class loader context for dexopt (DexoptUtils#getClassLoaderContexts).
+ *
* @hide
*/
public SparseArray<int[]> splitDependencies;