help-icon
icon

Native Xposed integration

helpDetails-time-icon2026-09-23T15:37:56+08:00

Scope and dependency

Use only with supported FoxPhone AOSP 10 / AOSP 12 native images, minimum Android API 26. Confirm native activation support first. Third-party app compatibility is not guaranteed. Do not add another Xposed Bridge.

Download and verify

Download xposed-bridge-debug.aar from the platform and verify its size and SHA-256. Place it in app/libs/ and use compileOnly to avoid bundling a duplicate Bridge.

xposed-bridge-debug.aar

Size: 271231 bytes
SHA-256: D9DC538315E875D83357B3986CC27D1F7535BE17D9F3F6E69C2F327C9A23FC98

Kotlin DSL · app/build.gradle.kts

dependencies {
    compileOnly(files("libs/xposed-bridge-debug.aar"))
}

Groovy · app/build.gradle

dependencies {
    compileOnly files('libs/xposed-bridge-debug.aar')
}

Create the entry point

Create a No Activity project in Android Studio. In app/src/main/assets/xposed_init, put one fully qualified entry class per line. The namespace is de.robv.android.examed; do not substitute another Bridge namespace.

com.example.myapplication.Main
package com.example.myapplication;
import de.robv.android.examed.IXposedHookLoadPackage;
import de.robv.android.examed.XposedBridge;
import de.robv.android.examed.callbacks.XC_LoadPackage;
public class Main implements IXposedHookLoadPackage {
    @Override
    public void handleLoadPackage(XC_LoadPackage.LoadPackageParam param) throws Throwable {
        if (!"com.example.target".equals(param.packageName)) { return; }
        XposedBridge.log("Native Xposed module loaded: " + param.packageName);
    }
}

Build, activate and validate

Implement the entry class and restrict logic to the authorized target package. Add a keep rule when shrinking code. Verify assets/xposed_init in the built APK, install on a supported device, enable through the native activation component and launch the target app to inspect logs.

-keep class com.example.myapplication.Main { *; }

If loading fails, check the image, entry class, assets path, shrinking rules, namespace and duplicate dependencies. Validate again after image or app upgrades.

Related articles

Email contact
Cookie notification iconCookie Notice
This website uses cookies to improve the user experience. To learn more about our cookie policy or withdraw from it, please check our Privacy Policy and Cookie Policy.