一、开发工具
android studio2022
二、项目创建
同一般的Android项目,选择empty activity即可
三、项目结构
主要关注框起来的地方
四、一些配置
首先是下载api-82-sources.jar。
需要修改.gradle文件
build.gradle
dependencies {
compileOnly 'de.robv.android.xposed:api:82:sources'
compileOnly 'de.robv.android.xposed:api:82'
implementation fileTree(dir: 'libs', include: '*.jar')
implementation 'androidx.appcompat:appcompat:1.4.1'
implementation 'com.google.android.material:material:1.5.0'
implementation 'androidx.constraintlayout:constraintlayout:2.1.3'
testImplementation 'junit:junit:4.13.2'
androidTestImplementation 'androidx.test.ext:junit:1.1.3'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
compileOnly files("libs/api-82-sources.jar")
}
setting.gradle
repositories {
google()
mavenCentral()
maven { url 'https://maven.aliyun.com/nexus/content/groups/public/' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/jcenter' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/google' }
maven { url 'https://maven.aliyun.com/nexus/content/repositories/gradle-plugin' }
maven { url 'https://api.xposed.info/' }
}
libs
AndroidManifest.xml
<meta-data
android:name="xposedmodule"
android:value="true" />
<meta-data
android:name="xposeddescription"
android:value="这是一个xposed demo" />
<meta-data
android:name="xposedminversion"
android:value="82" />
五、编写hook代码
需要实现IXposedHookLoadPackage接口
配置入口
在java同级目录新建assets,再添加xposed_init文件,里面指定入口.java文件