目录
一、开发环境
- Windows10系统
- AndroidStudio 3.5.3
- Android SDK
- Xposed
AndroidStudio 3.5.3
下载安装Android Studio,https://developer.android.com/studio
Android SDK
下载安装Android SDK,如果已经安装,跳过此步骤,https://www.androiddevtools.cn/
选择一个最新的版本就行了。注意,这里有exe和zip两种文件可供下载,exe的就是个安装程序,下载下来需要自己双击安装。这里建议下载zip压缩包,下载后,直接解压缩到你想要安装Android的路径就行了。解压后的文件目录如下
然后就双击“SDK Manager.exe”,启动SDK Manager,如图所示:
这里需要把”\platform-tools“和”\tools”路径追加到系统环境变量Path中,具体如下:
在系统的Path变量后,追加
如图
打开cmd查看安装是否成功
Xposed
•https://forum.xda-developers.com/showthread.php?t=3034811
启动夜神模拟器(手机也是一样的)
将xpose installer apk拖入到模拟器中
打开xposed安装框架
二、创建项目
创建android开发基础项目
添加引用
在Module的build.gradle中添加以下两句引用,并注意要将 implementation fileTree(dir: 'libs', include: ['*.jar']) 修改为 compileOnly fileTree(dir: 'libs', include: ['*.jar']) 。
原因是Xposed里已有该JAR包内容,再次打包进去会冲突,就会导致handleLoadPackage没有回调。
dependencies {
compileOnly 'de.robv.android.xposed:api:82'
compileOnly 'de.robv.android.xposed:api:82:sources'
compileOnly fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.2'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
}
声明Xposed模块
创建Xposed项目后,需要还在AndroidMenafest.xml文件里面声明Xposed模块,在application里面添加三个meta-data标签(xposedmodule,xposeddescription,xposedminversion)。
<meta-data
android:name="xposedmodule"
android:value="true"/>
<meta-data
android:name="xposeddescription"
android:value="pdd demo"/>
<meta-data
android:name="xposedminversion"
android:value="53"/>
编写hook代码
声明类的入口
创建完我们钩类之后,我们需要将该类加载到XposedInstaller中,也就是我们必须声明该类的位置,需要在xposed_init中声明。
先创建assets文件:
然后在assets文件里,新建一个文件名为“xposed_init”(文件类型选text),注意没有后缀。
然后在 xposed_init 内写入刚创建的入口类的完整类名,这里是 com.example.pddtest111.hook
三、编译测试
编译打包成apk
编译成功后,将在以下目录中出现一个apk
安装测试
将生成的apk拖入到模拟中进行安装
打开xposed,将其添加到xposed的模块中(勾选),然后重启模拟器
启动相关运用,就可以测试了