diff --git a/app/build.gradle b/app/build.gradle index 3433a3f..d4282c7 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -63,4 +63,5 @@ android { dependencies { compileOnly 'androidx.annotation:annotation:1.8.1' compileOnly 'io.github.libxposed:api:100' + compileOnly project(":libxposed-compat") } diff --git a/app/proguard-rules.pro b/app/proguard-rules.pro index 703a1b1..dba1539 100644 --- a/app/proguard-rules.pro +++ b/app/proguard-rules.pro @@ -6,9 +6,15 @@ public void onPackageLoaded(...); public void onSystemServerLoaded(...); } --keep,allowoptimization,allowobfuscation @io.github.libxposed.api.annotations.* class * { - @io.github.libxposed.api.annotations.BeforeInvocation ; - @io.github.libxposed.api.annotations.AfterInvocation ; +-keep,allowshrinking,allowoptimization,allowobfuscation class ** implements io.github.libxposed.api.XposedInterface$Hooker +-keepclassmembers,allowoptimization class ** implements io.github.libxposed.api.XposedInterface$Hooker { + public *** before(***); + public *** after(***); + public static *** before(); + public static *** before(io.github.libxposed.api.XposedInterface$BeforeHookCallback); + public static void after(); + public static void after(io.github.libxposed.api.XposedInterface$AfterHookCallback); + public static void after(io.github.libxposed.api.XposedInterface$AfterHookCallback, ***); } -repackageclasses diff --git a/libxposed-compat/.gitignore b/libxposed-compat/.gitignore new file mode 100644 index 0000000..42afabf --- /dev/null +++ b/libxposed-compat/.gitignore @@ -0,0 +1 @@ +/build \ No newline at end of file diff --git a/libxposed-compat/build.gradle b/libxposed-compat/build.gradle new file mode 100644 index 0000000..30e51f7 --- /dev/null +++ b/libxposed-compat/build.gradle @@ -0,0 +1,20 @@ +plugins { + id 'com.android.library' +} + +android { + namespace 'io.github.libxposed' + compileSdk 34 + + defaultConfig { + minSdk 24 + targetSdk 34 + versionCode 1 + versionName "1.0" + } + + compileOptions { + sourceCompatibility JavaVersion.VERSION_17 + targetCompatibility JavaVersion.VERSION_17 + } +} \ No newline at end of file diff --git a/libxposed-compat/src/main/AndroidManifest.xml b/libxposed-compat/src/main/AndroidManifest.xml new file mode 100644 index 0000000..69fc412 --- /dev/null +++ b/libxposed-compat/src/main/AndroidManifest.xml @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/app/src/main/java/io/github/libxposed/api/annotations/AfterInvocation.java b/libxposed-compat/src/main/java/io/github/libxposed/api/annotations/AfterInvocation.java similarity index 100% rename from app/src/main/java/io/github/libxposed/api/annotations/AfterInvocation.java rename to libxposed-compat/src/main/java/io/github/libxposed/api/annotations/AfterInvocation.java diff --git a/app/src/main/java/io/github/libxposed/api/annotations/BeforeInvocation.java b/libxposed-compat/src/main/java/io/github/libxposed/api/annotations/BeforeInvocation.java similarity index 100% rename from app/src/main/java/io/github/libxposed/api/annotations/BeforeInvocation.java rename to libxposed-compat/src/main/java/io/github/libxposed/api/annotations/BeforeInvocation.java diff --git a/app/src/main/java/io/github/libxposed/api/annotations/XposedHooker.java b/libxposed-compat/src/main/java/io/github/libxposed/api/annotations/XposedHooker.java similarity index 100% rename from app/src/main/java/io/github/libxposed/api/annotations/XposedHooker.java rename to libxposed-compat/src/main/java/io/github/libxposed/api/annotations/XposedHooker.java diff --git a/settings.gradle b/settings.gradle index 01601e5..ecba660 100644 --- a/settings.gradle +++ b/settings.gradle @@ -19,3 +19,4 @@ dependencyResolutionManagement { } rootProject.name = "DisableFlagSecure" include ':app' +include ':libxposed-compat'