Только для поддерживаемых нативных образов FoxPhone AOSP 10 / AOSP 12, минимум Android API 26. Проверьте поддержку нативной активации. Совместимость сторонних приложений не гарантируется. Не добавляйте другую Xposed Bridge.
Загрузите xposed-bridge-debug.aar с платформы, проверьте размер и SHA-256. Поместите в app/libs/ и подключите через compileOnly, чтобы не упаковать Bridge повторно.
Size: 271231 bytes
SHA-256: D9DC538315E875D83357B3986CC27D1F7535BE17D9F3F6E69C2F327C9A23FC98dependencies {
compileOnly(files("libs/xposed-bridge-debug.aar"))
}dependencies {
compileOnly files('libs/xposed-bridge-debug.aar')
}Создайте проект No Activity в Android Studio. Укажите полное имя класса, по одному в строке, в app/src/main/assets/xposed_init. Пространство имён — de.robv.android.examed; не заменяйте его другим Bridge.
com.example.myapplication.Mainpackage 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);
}
}Реализуйте класс входа и ограничьте логику разрешённым целевым пакетом. При оптимизации кода добавьте правило keep. Проверьте assets/xposed_init в APK, установите на поддерживаемое устройство, активируйте нативным компонентом и запустите целевое приложение для проверки журнала.
-keep class com.example.myapplication.Main { *; }При ошибке загрузки проверьте образ, класс, путь assets, правила оптимизации, пространство имён и дубликаты зависимостей. После обновления образа или приложения повторите проверку.