diff options
author | Maurice Chu <mochu@google.com> | 2013-11-14 19:08:32 -0800 |
---|---|---|
committer | Maurice Chu <mochu@google.com> | 2013-11-15 19:39:26 +0000 |
commit | 66f379f774e06e650375750d18b1695ddb853371 (patch) | |
tree | 3f3bb401be8641caad68fbe7a0be45a1ea600ef9 /library/src | |
parent | 4be173048a01fb57f3c26b85fbff3c2bcf9a1267 (diff) | |
download | multidex-66f379f774e06e650375750d18b1695ddb853371.tar.gz |
Update mZips field in classloader for GB
This enables mockito tests to also run.
Bug: 11709435
Change-Id: I9ebc5f5441a396c12eb8cde554d69a003fa6e7ad
Diffstat (limited to 'library/src')
-rw-r--r-- | library/src/android/support/multidex/MultiDex.java | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/library/src/android/support/multidex/MultiDex.java b/library/src/android/support/multidex/MultiDex.java index 1fffe3d..6df578b 100644 --- a/library/src/android/support/multidex/MultiDex.java +++ b/library/src/android/support/multidex/MultiDex.java @@ -16,14 +16,14 @@ package android.support.multidex; +import dalvik.system.DexFile; + import android.content.Context; import android.content.pm.ApplicationInfo; import android.content.pm.PackageManager; import android.os.Build; import android.util.Log; -import dalvik.system.DexFile; - import java.io.File; import java.io.IOException; import java.lang.reflect.Array; @@ -36,6 +36,7 @@ import java.util.HashSet; import java.util.List; import java.util.ListIterator; import java.util.Set; +import java.util.zip.ZipFile; /** * Monkey patches {@link Context#getClassLoader() the application context class @@ -361,6 +362,7 @@ public final class MultiDex { StringBuilder path = new StringBuilder((String) pathField.get(loader)); String[] extraPaths = new String[extraSize]; File[] extraFiles = new File[extraSize]; + ZipFile[] extraZips = new ZipFile[extraSize]; DexFile[] extraDexs = new DexFile[extraSize]; for (ListIterator<File> iterator = additionalClassPathEntries.listIterator(); iterator.hasNext();) { @@ -370,12 +372,14 @@ public final class MultiDex { int index = iterator.previousIndex(); extraPaths[index] = entryPath; extraFiles[index] = additionalEntry; + extraZips[index] = new ZipFile(additionalEntry); extraDexs[index] = DexFile.loadDex(entryPath, entryPath + ".dex", 0); } pathField.set(loader, path.toString()); expandFieldArray(loader, "mPaths", extraPaths); expandFieldArray(loader, "mFiles", extraFiles); + expandFieldArray(loader, "mZips", extraZips); expandFieldArray(loader, "mDexs", extraDexs); } } |