From 88b809ccee6cfca83ec43cdfcdd0a9e8b62fabfc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=A2=81=E7=88=B1=E7=BA=A2?= Date: Thu, 6 Sep 2018 15:11:44 +0800 Subject: [PATCH] The so file in plugin is loaded first when so file name in plugin is the same as in system library. The so file in plugin is loaded first when so file name in plugin is the same as in system library (/system/lib, /system/lib64, vendor/lib, vendor/lib64). --- .../java/net/wequick/small/util/ReflectAccelerator.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Android/DevSample/small/src/main/java/net/wequick/small/util/ReflectAccelerator.java b/Android/DevSample/small/src/main/java/net/wequick/small/util/ReflectAccelerator.java index a461dc90..52cd61c6 100644 --- a/Android/DevSample/small/src/main/java/net/wequick/small/util/ReflectAccelerator.java +++ b/Android/DevSample/small/src/main/java/net/wequick/small/util/ReflectAccelerator.java @@ -134,7 +134,7 @@ public static void expandNativeLibraryDirectories(ClassLoader classLoader, List paths = getValue(sPathClassLoader_libraryPathElements_field, classLoader); if (paths == null) return; for (File libPath : libPaths) { - paths.add(libPath.getAbsolutePath() + File.separator); + paths.add(0, libPath.getAbsolutePath() + File.separator); } } } @@ -316,7 +316,7 @@ public static void expandNativeLibraryDirectories(ClassLoader classLoader, try { // File[] nativeLibraryDirectories Object[] paths = libPaths.toArray(); - expandArray(pathList, sDexPathList_nativeLibraryDirectories_field, paths, false); + expandArray(pathList, sDexPathList_nativeLibraryDirectories_field, paths, true); } catch (Exception e) { e.printStackTrace(); } @@ -360,7 +360,7 @@ public static void expandNativeLibraryDirectories(ClassLoader classLoader, elements[i] = dexElement; } - expandArray(pathList, sDexPathList_nativeLibraryPathElements_field, elements, false); + expandArray(pathList, sDexPathList_nativeLibraryPathElements_field, elements, true); } catch (Exception e) { e.printStackTrace(); } @@ -430,7 +430,7 @@ public static void expandNativeLibraryDirectories(ClassLoader classLoader, elements[i] = dexElement; } - expandArray(pathList, sDexPathList_nativeLibraryPathElements_field, elements, false); + expandArray(pathList, sDexPathList_nativeLibraryPathElements_field, elements, true); } catch (Exception e) { e.printStackTrace(); }