Skip to content
This repository was archived by the owner on Feb 12, 2026. It is now read-only.

Commit 7700eaf

Browse files
update: XPosed API; update: sepolicy.rule (#5)
This commit both updates the "sepolicy.rule" to be in sync with official LSPosed and updates XPosed API.
1 parent 8b5c3c6 commit 7700eaf

File tree

24 files changed

+252
-50
lines changed

24 files changed

+252
-50
lines changed

.github/workflows/core.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,6 @@ jobs:
4545
with:
4646
repository: libxposed/api
4747
path: libxposed/api
48-
ref: 54582730315ba4a3d7cfaf9baf9d23c419e07006
4948

5049
- name: Checkout libxposed/service
5150
uses: actions/checkout@v4

core/proguard-rules.pro

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
-keep class android.** { *; }
22
-keep class de.robv.android.xposed.** {*;}
33
-keep class io.github.libxposed.** {*;}
4+
-keep class org.lsposed.lspd.annotation.* {*;}
45
-keep class org.lsposed.lspd.core.* {*;}
56
-keep class org.lsposed.lspd.hooker.HandleSystemServerProcessHooker {*;}
67
-keep class org.lsposed.lspd.hooker.HandleSystemServerProcessHooker$Callback {*;}
@@ -22,9 +23,13 @@
2223
-keepclassmembers class org.lsposed.lspd.impl.LSPosedHookCallback {
2324
public <methods>;
2425
}
26+
-keepclassmembers,allowoptimization class ** implements io.github.libxposed.api.XposedInterface$Hooker {
27+
public *** before(***);
28+
public *** after(***);
29+
}
2530
-keep,allowoptimization,allowobfuscation @io.github.libxposed.api.annotations.* class * {
26-
@io.github.libxposed.api.annotations.BeforeInvocation <methods>;
27-
@io.github.libxposed.api.annotations.AfterInvocation <methods>;
31+
public *** before(***);
32+
public *** after(***);
2833
}
2934
-assumenosideeffects class android.util.Log {
3035
public static *** v(...);

core/src/main/java/de/robv/android/xposed/callbacks/XC_InitPackageResources.java

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,15 +21,10 @@
2121
package de.robv.android.xposed.callbacks;
2222

2323
import android.content.res.XResources;
24-
import android.os.Bundle;
25-
26-
import androidx.annotation.NonNull;
27-
import androidx.annotation.Nullable;
2824

2925
import java.util.concurrent.CopyOnWriteArraySet;
3026

3127
import de.robv.android.xposed.IXposedHookInitPackageResources;
32-
import io.github.libxposed.api.XposedModuleInterface;
3328

3429
/**
3530
* This class is only used for internal purposes, except for the {@link InitPackageResourcesParam}

core/src/main/java/de/robv/android/xposed/callbacks/XC_LoadPackage.java

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,16 +21,10 @@
2121
package de.robv.android.xposed.callbacks;
2222

2323
import android.content.pm.ApplicationInfo;
24-
import android.os.Bundle;
25-
26-
import androidx.annotation.NonNull;
27-
import androidx.annotation.Nullable;
2824

2925
import java.util.concurrent.CopyOnWriteArraySet;
3026

3127
import de.robv.android.xposed.IXposedHookLoadPackage;
32-
import de.robv.android.xposed.XposedBridge.CopyOnWriteSortedSet;
33-
import io.github.libxposed.api.XposedModuleInterface;
3428

3529
/**
3630
* This class is only used for internal purposes, except for the {@link LoadPackageParam}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.github.libxposed.api.annotations;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
@Retention(RetentionPolicy.RUNTIME)
9+
@Target(ElementType.METHOD)
10+
public @interface AfterInvocation {
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.github.libxposed.api.annotations;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
@Retention(RetentionPolicy.RUNTIME)
9+
@Target(ElementType.METHOD)
10+
public @interface BeforeInvocation {
11+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
package io.github.libxposed.api.annotations;
2+
3+
import java.lang.annotation.ElementType;
4+
import java.lang.annotation.Retention;
5+
import java.lang.annotation.RetentionPolicy;
6+
import java.lang.annotation.Target;
7+
8+
@Retention(RetentionPolicy.RUNTIME)
9+
@Target({ElementType.TYPE, ElementType.TYPE_USE})
10+
public @interface XposedHooker {
11+
}

core/src/main/java/org/lsposed/lspd/core/ApplicationServiceClient.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919

2020
package org.lsposed.lspd.core;
2121

22-
import android.os.Bundle;
2322
import android.os.IBinder;
2423
import android.os.ParcelFileDescriptor;
2524
import android.os.RemoteException;

core/src/main/java/org/lsposed/lspd/core/Startup.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
import org.lsposed.lspd.hooker.AttachHooker;
3232
import org.lsposed.lspd.hooker.CrashDumpHooker;
3333
import org.lsposed.lspd.hooker.HandleSystemServerProcessHooker;
34-
import org.lsposed.lspd.hooker.LoadedApkCtorHooker;
3534
import org.lsposed.lspd.hooker.LoadedApkCreateCLHooker;
35+
import org.lsposed.lspd.hooker.LoadedApkCtorHooker;
3636
import org.lsposed.lspd.hooker.OpenDexFileHooker;
3737
import org.lsposed.lspd.impl.LSPosedContext;
3838
import org.lsposed.lspd.impl.LSPosedHelper;

core/src/main/java/org/lsposed/lspd/hooker/AttachHooker.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,16 +2,16 @@
22

33
import android.app.ActivityThread;
44

5+
import androidx.annotation.NonNull;
6+
57
import de.robv.android.xposed.XposedInit;
68
import io.github.libxposed.api.XposedInterface;
7-
import io.github.libxposed.api.annotations.AfterInvocation;
89
import io.github.libxposed.api.annotations.XposedHooker;
910

1011
@XposedHooker
1112
public class AttachHooker implements XposedInterface.Hooker {
1213

13-
@AfterInvocation
14-
public static void afterHookedMethod(XposedInterface.AfterHookCallback callback) {
14+
public static void after(@NonNull XposedInterface.AfterHookCallback callback) {
1515
XposedInit.loadModules((ActivityThread) callback.getThisObject());
1616
}
1717
}

0 commit comments

Comments
 (0)