From c56c89327be5441c94d34d36ba806d8f5341a718 Mon Sep 17 00:00:00 2001 From: LoveSy Date: Thu, 8 Apr 2021 21:03:22 +0800 Subject: [PATCH] Revert "[core] FastNative (#467)" (#469) Someone report keeping annotation on release build make some java methods call failed. This reverts commit 65f387f4295b2cf0c46a228cd9c2d9bab6b89106. --- core/proguard-rules.pro | 2 -- .../org/lsposed/lspd/nativebridge/ClassLinker.java | 2 -- .../org/lsposed/lspd/nativebridge/ModuleLogger.java | 3 --- .../java/org/lsposed/lspd/nativebridge/NativeAPI.java | 3 --- .../org/lsposed/lspd/nativebridge/PendingHooks.java | 5 +---- .../org/lsposed/lspd/nativebridge/ResourcesHook.java | 6 ------ .../java/org/lsposed/lspd/nativebridge/Yahfa.java | 8 -------- .../dalvik/annotation/optimization/FastNative.java | 11 ----------- 8 files changed, 1 insertion(+), 39 deletions(-) delete mode 100644 hiddenapi-stubs/src/main/java/dalvik/annotation/optimization/FastNative.java diff --git a/core/proguard-rules.pro b/core/proguard-rules.pro index 899d1b8a..c0c37dc3 100644 --- a/core/proguard-rules.pro +++ b/core/proguard-rules.pro @@ -20,8 +20,6 @@ # hide the original source file name. #-renamesourcefileattribute SourceFile --keepattributes *Annotation* - -keep class de.robv.android.xposed.** {*;} -keep class android.** { *; } -keepclassmembers class * implements android.os.Parcelable { diff --git a/core/src/main/java/org/lsposed/lspd/nativebridge/ClassLinker.java b/core/src/main/java/org/lsposed/lspd/nativebridge/ClassLinker.java index e02d4158..f9c30609 100644 --- a/core/src/main/java/org/lsposed/lspd/nativebridge/ClassLinker.java +++ b/core/src/main/java/org/lsposed/lspd/nativebridge/ClassLinker.java @@ -22,12 +22,10 @@ package org.lsposed.lspd.nativebridge; import java.lang.reflect.Executable; -import dalvik.annotation.optimization.FastNative; import de.robv.android.xposed.PendingHooks; public class ClassLinker { - @FastNative public static native void setEntryPointsToInterpreter(Executable method); public static void onPostFixupStaticTrampolines(Class clazz) { diff --git a/core/src/main/java/org/lsposed/lspd/nativebridge/ModuleLogger.java b/core/src/main/java/org/lsposed/lspd/nativebridge/ModuleLogger.java index 287a5379..5151c855 100644 --- a/core/src/main/java/org/lsposed/lspd/nativebridge/ModuleLogger.java +++ b/core/src/main/java/org/lsposed/lspd/nativebridge/ModuleLogger.java @@ -31,8 +31,6 @@ import java.util.TimeZone; import org.lsposed.lspd.util.Utils; -import dalvik.annotation.optimization.FastNative; - public class ModuleLogger { static SimpleDateFormat logDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.sss", Locale.getDefault()); static int fd = -1; @@ -44,7 +42,6 @@ public class ModuleLogger { } } - @FastNative private static native void nativeLog(int fd, String logStr); public static void log(String str, boolean isThrowable) { diff --git a/core/src/main/java/org/lsposed/lspd/nativebridge/NativeAPI.java b/core/src/main/java/org/lsposed/lspd/nativebridge/NativeAPI.java index bda39b8e..eeca6134 100644 --- a/core/src/main/java/org/lsposed/lspd/nativebridge/NativeAPI.java +++ b/core/src/main/java/org/lsposed/lspd/nativebridge/NativeAPI.java @@ -20,9 +20,6 @@ package org.lsposed.lspd.nativebridge; -import dalvik.annotation.optimization.FastNative; - public class NativeAPI { - @FastNative public static native void recordNativeEntrypoint(String library_name); } diff --git a/core/src/main/java/org/lsposed/lspd/nativebridge/PendingHooks.java b/core/src/main/java/org/lsposed/lspd/nativebridge/PendingHooks.java index 4bbaf7a8..12a9f3b4 100644 --- a/core/src/main/java/org/lsposed/lspd/nativebridge/PendingHooks.java +++ b/core/src/main/java/org/lsposed/lspd/nativebridge/PendingHooks.java @@ -22,9 +22,6 @@ package org.lsposed.lspd.nativebridge; import java.lang.reflect.Method; -import dalvik.annotation.optimization.FastNative; - public class PendingHooks { - @FastNative - public static native void recordPendingMethodNative(Method hookMethod, Class clazz); + public static native void recordPendingMethodNative(Method hookMethod, Class clazz); } diff --git a/core/src/main/java/org/lsposed/lspd/nativebridge/ResourcesHook.java b/core/src/main/java/org/lsposed/lspd/nativebridge/ResourcesHook.java index d715fb35..34f4c319 100644 --- a/core/src/main/java/org/lsposed/lspd/nativebridge/ResourcesHook.java +++ b/core/src/main/java/org/lsposed/lspd/nativebridge/ResourcesHook.java @@ -23,19 +23,13 @@ package org.lsposed.lspd.nativebridge; import android.content.res.Resources; import android.content.res.XResources; -import dalvik.annotation.optimization.FastNative; - public class ResourcesHook { - @FastNative public static native boolean initXResourcesNative(); - @FastNative public static native boolean removeFinalFlagNative(Class clazz); - @FastNative public static native ClassLoader buildDummyClassLoader(ClassLoader parent, Class resourceSuperClass, Class typedArraySuperClass); - @FastNative public static native void rewriteXmlReferencesNative(long parserPtr, XResources origRes, Resources repRes); } diff --git a/core/src/main/java/org/lsposed/lspd/nativebridge/Yahfa.java b/core/src/main/java/org/lsposed/lspd/nativebridge/Yahfa.java index 4d263b42..adfea0d5 100644 --- a/core/src/main/java/org/lsposed/lspd/nativebridge/Yahfa.java +++ b/core/src/main/java/org/lsposed/lspd/nativebridge/Yahfa.java @@ -23,26 +23,18 @@ package org.lsposed.lspd.nativebridge; import java.lang.reflect.Executable; import java.lang.reflect.Method; -import dalvik.annotation.optimization.FastNative; - public class Yahfa { - @FastNative public static native boolean backupAndHookNative(Executable target, Method hook, Method backup); // JNI.ToReflectedMethod() could return either Method or Constructor - @FastNative public static native Executable findMethodNative(Class targetClass, String methodName, String methodSig); - @FastNative public static native void init(int sdkVersion); - @FastNative public static native void recordHooked(Executable member); - @FastNative public static native boolean isHooked(Executable member); - @FastNative public static native Class buildHooker(ClassLoader appClassLoader, Class returnType, Class[] params, String methodName); } diff --git a/hiddenapi-stubs/src/main/java/dalvik/annotation/optimization/FastNative.java b/hiddenapi-stubs/src/main/java/dalvik/annotation/optimization/FastNative.java deleted file mode 100644 index 6c8379dd..00000000 --- a/hiddenapi-stubs/src/main/java/dalvik/annotation/optimization/FastNative.java +++ /dev/null @@ -1,11 +0,0 @@ -package dalvik.annotation.optimization; - -import java.lang.annotation.ElementType; -import java.lang.annotation.Retention; -import java.lang.annotation.RetentionPolicy; -import java.lang.annotation.Target; - -@Retention(RetentionPolicy.CLASS) -@Target(ElementType.METHOD) -public @interface FastNative { -}