Centralize dependencies and migrate to submodules Move `apache` and `axml` modules to a unified `external` directory and migrate libxposed API and service interfaces from Maven dependencies to Git submodules. Included changes: - Updated .gitmodules with new paths. - Simplified core.yml CI workflow. - Updated Gradle project references to use the new directory structure. - Added documentation for external components. |
||
|---|---|---|
| .. | ||
| apache | ||
| axml | ||
| dobby@05a09ac680 | ||
| fmt@0e078f6ed0 | ||
| lsplant@a0990196c2 | ||
| lsplt@3e29437f03 | ||
| xz-embedded@ae63ae3a36 | ||
| CMakeLists.txt | ||
| README.md | ||
README.md
External Dependencies
This directory contains all the external dependencies required to build the Vector framework. They are included as git submodules to ensure version consistency and timely updating.
Native dependencies
-
Dobby: A lightweight, multi-platform inline hooking framework. It serves as the backend for all native function hooking (
HookInline). -
fmt: A modern formatting library used for high-performance, type-safe logging throughout the native code.
-
LSPlant: A hooking framework for the Android Runtime (ART). It provides the core functionality for intercepting and modifying Java methods.
-
xz-embedded: A lightweight data compression library with a small footprint. It is used by the ELF parser to decompress the
.gnu_debugdatasection of stripped native libraries. -
LSPlt: A library for PLT (Procedure Linkage Table) hooking. It is used in the
dex2oatsub-project to bypass a detection point. Note: This is included as a submodule for project convenience but is not compiled into theexternalC++ library itself.
Java libraries
-
apache/commons-lang: A package of Java utility classes for the classes that are in java.lang's hierarchy. Some classes are renamed and then used to implement the
XposedHelpersAPI. -
axml/manifest-editor: A a tool used to modify Android Manifest binary file. It is to parse manifestation files of Xposed modules.