【发布时间】:2021-03-08 02:47:03
【问题描述】:
我想挂钩 getInstalledApplications 和 getInstalledPackages 以监控应用程序是否使用此方法获取我的应用程序列表。
我的代码:
XposedHelpers.findAndHookMethod(
android.content.pm.PackageManager.class.getName(),
lpparam.classLoader,
"getInstalledApplications",
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("getInstalledApplications()");
Log.d("HookLogin", "getInstalledApplications()");
}
});
我得到了这个错误:Xposed: java.lang.NoSuchMethodError: android.content.pm.PackageManager#getInstalledApplications()#exact
然后我用谷歌搜索,发现我应该使用android.app.ApplicationPackageManager,然后我更改了我的代码:
XposedHelpers.findAndHookMethod(
"android.app.ApplicationPackageManager",
lpparam.classLoader,
"getInstalledPackages",
new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("getInstalledPackages()");
Log.d("HookLogin", "getInstalledPackages()");
}
});
但我还是遇到了 NoSuchMethodError,这次是:
Xposed: java.lang.NoSuchMethodError: android.app.ApplicationPackageManager#getInstalledApplications()#exact
我现在一头雾水,怎么钩getInstalledPackages这个方法。
【问题讨论】: