diff --git a/core/src/main/java/org/lsposed/lspd/util/LspModuleClassLoader.java b/core/src/main/java/org/lsposed/lspd/util/LspModuleClassLoader.java index 902fdf61..3d8e0697 100644 --- a/core/src/main/java/org/lsposed/lspd/util/LspModuleClassLoader.java +++ b/core/src/main/java/org/lsposed/lspd/util/LspModuleClassLoader.java @@ -47,7 +47,6 @@ public final class LspModuleClassLoader extends ByteBufferDexClassLoader { String apk) { super(dexBuffers, parent); this.apk = apk; - setDexName(apk); } @RequiresApi(Build.VERSION_CODES.Q) @@ -58,7 +57,6 @@ public final class LspModuleClassLoader extends ByteBufferDexClassLoader { super(dexBuffers, librarySearchPath, parent); initNativeLibraryDirs(librarySearchPath); this.apk = apk; - setDexName(apk); } private void initNativeLibraryDirs(String librarySearchPath) { @@ -160,7 +158,8 @@ public final class LspModuleClassLoader extends ByteBufferDexClassLoader { @Override public Enumeration getResources(String name) throws IOException { - @SuppressWarnings("unchecked") final var resources = (Enumeration[]) new Enumeration[]{ + @SuppressWarnings("unchecked") + final var resources = (Enumeration[]) new Enumeration[]{ Object.class.getClassLoader().getResources(name), findResources(name), getParent() == null ? null : getParent().getResources(name)}; diff --git a/hiddenapi-bridge/src/main/java/hidden/ByteBufferDexClassLoader.java b/hiddenapi-bridge/src/main/java/hidden/ByteBufferDexClassLoader.java index 38428baa..622eb709 100644 --- a/hiddenapi-bridge/src/main/java/hidden/ByteBufferDexClassLoader.java +++ b/hiddenapi-bridge/src/main/java/hidden/ByteBufferDexClassLoader.java @@ -1,31 +1,10 @@ package hidden; -import java.lang.reflect.Field; import java.nio.ByteBuffer; import dalvik.system.BaseDexClassLoader; public class ByteBufferDexClassLoader extends BaseDexClassLoader { - static Field pathListField = null; - static Field dexElementsField = null; - static Field dexFileField = null; - static Field nameField = null; - - static { - try { - pathListField = BaseDexClassLoader.class.getDeclaredField("pathList"); - pathListField.setAccessible(true); - dexElementsField = pathListField.getType().getDeclaredField("dexElements"); - dexElementsField.setAccessible(true); - var elementType = dexElementsField.getType().getComponentType(); - dexFileField = elementType.getDeclaredField("dexFile"); - dexFileField.setAccessible(true); - nameField = dexFileField.getType().getDeclaredField("mFileName"); - nameField.setAccessible(true); - } catch (Throwable ignored) { - - } - } public ByteBufferDexClassLoader(ByteBuffer[] dexFiles, ClassLoader parent) { super(dexFiles, parent); @@ -35,17 +14,6 @@ public class ByteBufferDexClassLoader extends BaseDexClassLoader { super(dexFiles, librarySearchPath, parent); } - // Some modules get their module paths from this variable - // They should use `initZygote.modulePath` instead - // Temporarily workaround - // TODO(vvb2060): removed in the next major release - public void setDexName(String name){ - try { - nameField.set(dexFileField.get(((Object[]) dexElementsField.get(pathListField.get(this)))[0]), name); - } catch (Throwable ignored) { - } - } - public String getLdLibraryPath() { return super.getLdLibraryPath(); } diff --git a/hiddenapi-stubs/src/main/java/com/android/internal/os/RuntimeInit.java b/hiddenapi-stubs/src/main/java/com/android/internal/os/RuntimeInit.java deleted file mode 100644 index 313f2f16..00000000 --- a/hiddenapi-stubs/src/main/java/com/android/internal/os/RuntimeInit.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.android.internal.os; - -public class RuntimeInit { - public static final void main(String[] argv) { - throw new UnsupportedOperationException("STUB"); - } -} diff --git a/hiddenapi-stubs/src/main/java/com/android/internal/os/ZygoteInit.java b/hiddenapi-stubs/src/main/java/com/android/internal/os/ZygoteInit.java deleted file mode 100644 index 1dc40cb4..00000000 --- a/hiddenapi-stubs/src/main/java/com/android/internal/os/ZygoteInit.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.android.internal.os; - -public class ZygoteInit { - public static void main(String[] argv) { - throw new UnsupportedOperationException("STUB"); - } -} diff --git a/hiddenapi-stubs/src/main/java/dalvik/system/BaseDexClassLoader.java b/hiddenapi-stubs/src/main/java/dalvik/system/BaseDexClassLoader.java index ee56efe4..4979dc44 100644 --- a/hiddenapi-stubs/src/main/java/dalvik/system/BaseDexClassLoader.java +++ b/hiddenapi-stubs/src/main/java/dalvik/system/BaseDexClassLoader.java @@ -1,19 +1,8 @@ -// -// Source code recreated from a .class file by IntelliJ IDEA -// (powered by Fernflower decompiler) -// - package dalvik.system; -import java.io.File; import java.nio.ByteBuffer; public class BaseDexClassLoader extends ClassLoader { - private Object pathList; - public BaseDexClassLoader(String dexPath, File optimizedDirectory, String librarySearchPath, ClassLoader parent) { - throw new RuntimeException("Stub!"); - } - public BaseDexClassLoader(ByteBuffer[] dexFiles, ClassLoader parent) { throw new RuntimeException("Stub!"); }