From a2be0bd03083e61c371206949e0c8b6782599693 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Sat, 24 Dec 2022 00:09:05 +0800 Subject: [PATCH] Load entries from META-INF/xposed --- .../org/lsposed/lspd/service/ConfigFileManager.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java b/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java index a7cffb57..74ddf83c 100644 --- a/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java +++ b/daemon/src/main/java/org/lsposed/lspd/service/ConfigFileManager.java @@ -365,8 +365,14 @@ public class ConfigFileManager { var moduleLibraryNames = new ArrayList(1); try (var apkFile = new ZipFile(toGlobalNamespace(path))) { readDexes(apkFile, preLoadedDexes, obfuscate); - readName(apkFile, "assets/xposed_init", moduleClassNames); - readName(apkFile, "assets/native_init", moduleLibraryNames); + // TODO: we can store more info like api version, module description, etc. in META-INF + readName(apkFile, "META-INF/xposed/xposed_init", moduleClassNames); + if (moduleClassNames.isEmpty()) { + readName(apkFile, "assets/xposed_init", moduleClassNames); + readName(apkFile, "assets/native_init", moduleLibraryNames); + } else { + readName(apkFile, "META-INF/xposed/native_init", moduleLibraryNames); + } } catch (IOException e) { Log.e(TAG, "Can not open " + path, e); return null;