我正试图使用Android上的连接到Android资源上,特别是Webview的loadUrl。下面的代码挂在loadUrl上,如果成功,就在日志上打印一条消息。
findAndHookMethod("com.example.webview.MainActivity", lpparam.classLoader, "android.webkit.WebView.loadUrl", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("we are in loadurl!");
}但是,这样做会引发一个错误:
java.lang.NoSuchMethodError: android.webkit.WebView#android.webkit.WebView.loadUrl()#exact
它甚至有可能连接到Android资源与xposed?
发布于 2014-11-18 15:22:54
它找不到方法,因为您没有指定方法参数。函数试图找到不存在参数的loadUrl方法。
查看webView,有以下签名:
我还没有测试过,但这应该是可行的:
try {
Method loadUrl1 = android.webkit.WebView.class.getDeclaredMethod("loadUrl", String.class);
Method loadUrl2 = android.webkit.WebView.class.getDeclaredMethod("loadUrl", String.class, Map.class);
XposedBridge.hookMethod(loadUrl1, new XC_MethodHook() { /* your code here*/});
XposedBridge.hookMethod(loadUrl2, new XC_MethodHook() { /* your code here*/});
} catch (NoSuchMethodException e) { ... }或者即使使用您使用的相同的API:
findAndHookMethod(classname, classloader, methodName, **ARGUMENTS[]**, xc_hook)另外,您的意思是类名"android.webkit.WebView“和方法"loadUrl”吗?
祝好运
发布于 2014-11-25 05:49:42
你可以简单地用"hookAllMethods“
XposedBridge.hookAllMethods("com.example.webview.MainActivity", "loadUrl", new XC_MethodHook() {
@Override
protected void afterHookedMethod(MethodHookParam param) throws Throwable {
XposedBridge.log("we are in loadurl!");
}https://stackoverflow.com/questions/22604785
复制相似问题