| Index: build/android/incremental_install/java/org/chromium/incrementalinstall/ClassLoaderPatcher.java
|
| diff --git a/build/android/incremental_install/java/org/chromium/incrementalinstall/ClassLoaderPatcher.java b/build/android/incremental_install/java/org/chromium/incrementalinstall/ClassLoaderPatcher.java
|
| index c382799003489ba328a4b60fd7290c5218b53554..8bf37799a3aeea72d1950c8cd63d1cbfa3bb3753 100644
|
| --- a/build/android/incremental_install/java/org/chromium/incrementalinstall/ClassLoaderPatcher.java
|
| +++ b/build/android/incremental_install/java/org/chromium/incrementalinstall/ClassLoaderPatcher.java
|
| @@ -94,8 +94,8 @@ final class ClassLoaderPatcher {
|
| Object dexPathList = Reflect.getField(mClassLoader, "pathList");
|
| Object[] dexElements = (Object[]) Reflect.getField(dexPathList, "dexElements");
|
| Object[] additionalElements = makeDexElements(dexFilesArr, optimizedDir);
|
| - Reflect.setField(
|
| - dexPathList, "dexElements", Reflect.concatArrays(dexElements, additionalElements));
|
| + Reflect.setField(dexPathList, "dexElements",
|
| + Reflect.concatArrays(dexElements, dexElements, additionalElements));
|
| }
|
|
|
| /**
|
| @@ -150,11 +150,11 @@ final class ClassLoaderPatcher {
|
| // Switched from an array to an ArrayList in Lollipop.
|
| if (currentDirs instanceof List) {
|
| List<File> dirsAsList = (List<File>) currentDirs;
|
| - dirsAsList.add(nativeLibDir);
|
| + dirsAsList.add(0, nativeLibDir);
|
| } else {
|
| File[] dirsAsArray = (File[]) currentDirs;
|
| Reflect.setField(dexPathList, "nativeLibraryDirectories",
|
| - Reflect.concatArrays(dirsAsArray, newDirs));
|
| + Reflect.concatArrays(newDirs, newDirs, dirsAsArray));
|
| }
|
|
|
| Object[] nativeLibraryPathElements;
|
| @@ -166,9 +166,9 @@ final class ClassLoaderPatcher {
|
| return;
|
| }
|
| Object[] additionalElements = makeNativePathElements(newDirs);
|
| - Reflect.setField(
|
| - dexPathList, "nativeLibraryPathElements",
|
| - Reflect.concatArrays(nativeLibraryPathElements, additionalElements));
|
| + Reflect.setField(dexPathList, "nativeLibraryPathElements",
|
| + Reflect.concatArrays(nativeLibraryPathElements, additionalElements,
|
| + nativeLibraryPathElements));
|
| }
|
|
|
| private static void copyChangedFiles(File srcDir, File dstDir) throws IOException {
|
|
|