第一步:
创建
No Activety
Android 项目, Minimum SDK 选择API 16:Android 4.1
这代表支持最老安装版本,
在 AndroidManifest.xml
中添加
<application
...
<meta-data
android:name="xposedmodule"
android:value="true" />
<!-- xposed 模块描述-->
<meta-data
android:name="xposeddescription"
android:value="Xp hook" />
<!-- xposed 支持最小版本-->
<meta-data
android:name="xposedminversion"
android:value="18" />
</application>
...
</application>
第二步:
在build.gradle
中 添加xposed 包
compileOnly 'de.robv.android.xposed:api:82'
// compileOnly 表示编译时不一起编译进apk
第三步:
在 main 下创建 assets目录, 并设置为资源文件夹, 在创建 xposed_init文件(文件类型为 txt)
流程: main >> 右键new >> Folder >> Assets Folder >> Finish >> 在 xposed_init 文件
中添加(入口函数)
// 包名.类名
com.example.xptest.HookMain
...
// 可以有多个, 以换行符为分割
// HookMain 为入口函数
第四步:
在settings.gradle
中添加
maven { url 'https://api.xposed.info/' }
第五步:
在java目录下创建Hook
类, 其中定义
package com.example.xptest;
import android.util.Log;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class Hook implements IXposedHookLoadPackage{
// 日志标签
private static final String TAG = "My Xposed";
@Override
public void handleLoadPackage(final XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
Log.i(TAG, "Hook Start....");
Log.i(TAG, "packageName:" + lpparam.packageName);
}
}
第六步:
编译但不安装:build >> build Bundle / APK >> build APK