From c3769056a37e760519c21c2d255b605baf789bae Mon Sep 17 00:00:00 2001 From: JingMatrix Date: Sat, 14 Mar 2026 09:30:55 +0100 Subject: [PATCH] Improve compatibility of native library path resolution Replaced rigid substring extraction with a dynamic split by "file:" to handle varying URI schemes (e.g., `file:` vs `jar:file:`) across different devices. Co-authored-by: NkBe --- .../lspatch/metaloader/LSPAppComponentFactoryStub.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java b/meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java index d251eb226..869437295 100644 --- a/meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java +++ b/meta-loader/src/main/java/org/lsposed/lspatch/metaloader/LSPAppComponentFactoryStub.java @@ -99,7 +99,10 @@ private static void bootstrap() { transfer(is, os); dex = os.toByteArray(); } - soPath = cl.getResource("assets/lspatch/so/" + libName + "/liblspatch.so").getPath().substring(5); + String resourcePath = cl.getResource("assets/lspatch/so/" + libName + "/liblspatch.so").getPath(); + Log.d(TAG, "Resource path: " + resourcePath); + String[] pathParts = resourcePath.split("file:"); + soPath = pathParts[pathParts.length - 1]; } System.load(soPath);