Android studio 版本:2023
JDK版本:java version "21.0.2
模拟器:夜神模拟器7.0(32 bit) Android 7
xposed :xposed鸭 版本89
问题:Hook 中的 log有关输出,日志中都没有!!!
跟网上很多地方不同的地方:在开发模块(选的是 no activity ;java),同步依赖 jcenter()和maven等在app下的libs文件都没有,只能自己创建.
下面是我开发一个模块的过程:
创建仓库源,这里用 jcenter(),同步依赖后:
创建APK界面,这时候没有 libs 文件夹
添加标识符:
创建 Hook 类和xposed_init,标记 xposed 模块入口
编写 Hook 类
到了这里,还没有 libs 中的依赖,没办法找了半天只能自己加 XposedBridgeApi-82.jar,右键 add as library,
MainHook文件内容:
package com.example.xposedtest2;
import android.util.Log;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
import de.robv.android.xposed.XposedBridge;
public class MainHook implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
// 过滤不必要的应用
if (!lpparam.packageName.equals("com.example.xposedtest")) return;
// 执行Hook
Log.d("XposedTest","你成功了");
hook(lpparam);
}
private void hook(XC_LoadPackage.LoadPackageParam lpparam) {
// 具体流程
XposedBridge.log("package"+lpparam.packageName);
}
}
run 运行app
logcat 日志:
模块勾选,重启设备后:
模拟器中的日志:
这是 cannot load module(想问问这个cannot load module是啥原因),下图是没有的,加了模块的日志
studio 也是差不多这样的日志,根本没有输出 Hook 文件中的 log,stuio 里面也还是差不多。
真不知道咋搞,查了好多天也不知道原因。
创建的模块能进入模拟器,连接方面应该没错吧。