Codex and Claude Code skill with an Android template for building modern Vector/LSPosed libxposed modules.
The bundled template creates a minimal Xposed module that shows a Toast when injected into a scoped app and writes verification logs to logcat with tag VectorToastModule.
It also provides an automation-friendly fallback for debugging when Frida's Java environment is unavailable or unstable, using a real Xposed module to verify injection instead of relying on an interactive Frida session.
For Codex, clone this repository into the Codex skills directory:
git clone https://github.com/KingFalse/vector-xposed-module-skill.git ~/.codex/skills/vector-xposed-module-skillFor Claude Code, clone this repository into the Claude skills directory:
git clone https://github.com/KingFalse/vector-xposed-module-skill.git ~/.claude/skills/vector-xposed-module-skillNote
This skill is currently developed and verified only on macOS.
You can install Android Studio to install Android SDK 34+.
You can install JDK 17 with Homebrew: brew install --cask temurin@17.
This skill also requires JDK 17, a rooted Android phone, and a Vector pipeline build whose version code is >= 3043.
This skill gives Codex, Claude Code, or another compatible AI agent a repeatable workflow for:
- Creating a modern Vector/LSPosed module from a working Android template.
- Adding the required
META-INF/xposed/module.propandMETA-INF/xposed/java_init.listentries. - Keeping a startup Toast and logcat proof so users can confirm injection succeeded.
- Avoiding accidental packaging of
io.github.libxposedstubs into the APK. - Checking local build prerequisites, including JDK 17, Android SDK, and Gradle wrapper.
- Building a debug APK with deterministic helper scripts.
- Installing the APK on a rooted Android device through
adb. - Detecting Vector CLI support and version before mutating module state.
- Enabling, disabling, and changing module scope through Vector CLI when supported.
- Falling back to clear manual instructions when Vector CLI is missing or too old.
SKILL.md: skill instructions for Codex and Claude Code.references/vector-api-notes.md: Vector API notes, packaging checks, and Vector CLI behavior.assets/vector-toast-template/: Android module template.assets/vector-toast-template/preflight.sh: checks JDK, Android SDK, Gradle, and optionally adb/root/Vector CLI.assets/vector-toast-template/build_debug.sh: builds the debug APK with environment checks.assets/vector-toast-template/install_and_scope.sh: installs the APK and uses Vector CLI to enable/scope the module when supported..github/workflows/release.yml: manual GitHub Actions workflow for tagged releases.
Build requirements:
- macOS host environment. Linux and Windows are not currently verified.
- JDK 17. On macOS, the template scripts auto-detect the Homebrew install path for
brew install --cask temurin@17. - Android SDK with
platforms/andbuild-tools/. - Gradle Wrapper is included in the template (
Gradle 8.7).
Device automation requirements:
adbonPATH.- Authorized Android device.
- Root access via
adb shell su -c. - Vector CLI at
/data/adb/lspd/cli. - Vector version code
>= 3043for automatic enable/scope operations.
If Vector CLI is unavailable or the version is older than 3043, the APK can still be installed, but the module must be enabled and scoped manually in Vector/LSPosed Manager.
Launch the target app and check logcat:
adb logcat -d | grep VectorToastModuleExpected lines include:
VectorToastModule: hooked Application.attach for package=<target.pkg>
VectorToastModule: injected package=<target.pkg> process=<target-process>
The target app should show:
Vector 注入成功: <target-package>
- Vector, for the modern runtime and CLI workflow.
- LSPosed, for the original LSPosed framework and compatibility model.
- libxposed, for the modern Xposed module API.
Join the WeChat group for discussion:
