Since standard Java Reflection cannot access the `<clinit>` method (class's static initializer), we add a new native function, `HookBridge.getStaticInitializer`, which uses JNI `GetStaticMethodID` to retrieve a `Method` handle for it. The `LSPosedContext` API then passes this handle to the existing `doHook` machinery.
There are two possible exceptions thrown by the API:
- `IllegalArgumentException`: Thrown for user-level errors, such as attempting to hook a class that has no static initializer block (`static { ... }`). This is a predictable failure based on the provided class.
- `HookFailedError`: Thrown when the underlying native hooking engine (`lsplant`) fails to install the hook. This indicates a framework or environment-level issue (e.g., ART incompatibility, method inlining by the JIT/AOT compiler) and is not a fault in the module's logic.
|
||
|---|---|---|
| .. | ||
| libxposed@b896dbcda3 | ||
| src/main/kotlin/org/matrix/vector | ||
| README.md | ||
| build.gradle.kts | ||
README.md
Xposed API implementation of the Vector framework
LSPosed is being refactored into a new project Vector.
This sub-project xposed, written in Kotlin, will be refactored from the core sub-project written in Java.