EdXposed 安装与使用指南
EdXposed项目地址:https://gitcode.com/gh_mirrors/ed/EdXposed
1. 项目目录结构及介绍
EdXposed/
├── app/ # 主应用模块,包含了EdXposed Manager
│ └── src/ # 应用源代码
├── library/ # 模块库,存放各种Xposed模块
│ ├── moduleA/ # 示例模块A
│ │ └── src/ # 模块A源代码
│ └── moduleB/ # 示例模块B
│ └── src/ # 模块B源代码
├── framework/ # 核心框架,包括YAHFA等核心组件
│ ├── java/ # Java代码
│ └── native/ # Native代码
├── build.gradle # 主构建文件,用于编译整个项目
└── settings.gradle # 项目设置,定义了模块间的依赖关系
app
: 包含EdXposed Manager,这是管理EdXposed框架的应用程序。library
: 存放不同功能的Xposed模块,每个模块有自己的目录结构。framework
: EdXposed的核心框架,负责ART层的挂钩工作。build.gradle
和settings.gradle
: Gradle构建系统配置文件,用于构建和打包项目。
2. 项目的启动文件介绍
项目的主入口点是app/src/main/java/com/elderdrivers/edxposed/EdXposedApp.java
。这个类继承自Android的Application
类,它的初始化过程会加载Xposed框架并启动相关服务。
在EdXposedApp
中,主要方法有:
onCreate()
: 应用启动时调用,这里初始化Xposed框架,注册模块,并处理其他启动逻辑。
3. 项目的配置文件介绍
3.1 AndroidManifest.xml
位于app/src/main/AndroidManifest.xml
,这个文件定义了应用的基本信息,权限需求和其他组件(如服务和活动)。对于EdXposed,它需要声明一些特殊权限来允许框架运行:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_LOGS" />
<!-- 更多权限根据具体实现可能需要添加 -->
...
3.2 gradle.properties
该项目可能没有显式的gradle.properties
文件,但通常此类项目会在该文件中定义版本号或其它全局变量,例如:
project.ext {
minSdkVersion = 21
targetSdkVersion = 29
}
xposedVersionCode=102
xposedVersionName='1.0.2'
这些变量可以在构建脚本中引用,以便统一管理和更新版本信息。
3.3 build.gradle
文件
在项目的根目录和app/
子目录下都有build.gradle
文件。根目录的build.gradle
文件定义了整个项目的所有模块,而app/build.gradle
文件则专注于应用程序的构建配置,包括依赖项、编译选项等。
例如,app/build.gradle
可能包含以下内容:
apply plugin: 'com.android.application'
android {
compileSdkVersion rootProject.ext.compileSdkVersion
defaultConfig {
applicationId "com.edxpposed"
minSdkVersion rootProject.ext.minSdkVersion
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode ${project.ext.xposedVersionCode}
versionName "${project.ext.xposedVersionName}"
}
// 其他构建配置
}
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'androidx.appcompat:appcompat:1.3.1'
// 添加对Xposed Bridge API的依赖
implementation 'de.robv.android.xposed:xposed-api:90'
// 添加其他模块作为依赖
// ...
}
请注意,实际的配置可能会因项目具体要求而有所不同。
完成上述步骤后,您可以通过Gradle构建系统进行编译、安装和调试。确保您的设备已启用开发者选项中的OEM解锁和USB调试,以及安装了Magisk以支持EdXposed框架。