From 64c89d7fa7652aba689a38b156d025a3138e5d94 Mon Sep 17 00:00:00 2001 From: CallMESuper <919675084@qq.com> Date: Mon, 28 Jun 2021 17:26:10 +0800 Subject: [PATCH] [core] Compatible with applications with 32-bit native libraries only (#786) if the target application with 32-bit native libraries only, we don't need 64-bit nativepath included Co-authored-by: CallMESuper --- .../main/java/de/robv/android/xposed/XposedInit.java | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/de/robv/android/xposed/XposedInit.java b/core/src/main/java/de/robv/android/xposed/XposedInit.java index 32573f03..631b408e 100644 --- a/core/src/main/java/de/robv/android/xposed/XposedInit.java +++ b/core/src/main/java/de/robv/android/xposed/XposedInit.java @@ -369,8 +369,15 @@ public final class XposedInit { // module can load it's own so StringBuilder nativePath = new StringBuilder(); - for (String i : Build.SUPPORTED_ABIS) { - nativePath.append(apk).append("!/lib/").append(i).append(File.pathSeparator); + // Compatible with applications with 32-bit native libraries only + if (android.os.Process.is64Bit()) { + for (String i : Build.SUPPORTED_64_BIT_ABIS) { + nativePath.append(apk).append("!/lib/").append(i).append(File.pathSeparator); + } + } else { + for (String i : Build.SUPPORTED_32_BIT_ABIS) { + nativePath.append(apk).append("!/lib/").append(i).append(File.pathSeparator); + } } // Log.d(TAG, "Allowed native path" + nativePath.toString()); ClassLoader initLoader = XposedInit.class.getClassLoader();