Skip to content

Commit

Permalink
fix: dalvik webview注入引起崩溃
Browse files Browse the repository at this point in the history
  • Loading branch information
styluo authored and tianhui12 committed Mar 11, 2022
1 parent 329d577 commit 89ad77b
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 20 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -78,61 +78,61 @@ public static void webkitWebViewPostUrl(WebView webView, String url, byte[] post
}

@Before(clazz = com.tencent.smtt.sdk.WebView.class, method = "loadUrl", parameterTypes = {String.class})
public static void x5WebViewLoadUrl(com.tencent.smtt.sdk.WebView webView, String url) {
public static void x5WebViewLoadUrl(View webView, String url) {
Logger.d(TAG, "x5WebViewLoadUrl: webView = " + webView.getClass().getName() + ", url = " + url);
bridgeForWebView(webView);
}

@Before(clazz = com.tencent.smtt.sdk.WebView.class, method = "loadUrl", parameterTypes = {String.class, Map.class})
public static void x5WebViewLoadUrl(com.tencent.smtt.sdk.WebView webView, String url, Map<String, String> additionalHttpHeaders) {
public static void x5WebViewLoadUrl(View webView, String url, Map<String, String> additionalHttpHeaders) {
Logger.d(TAG, "x5WebViewLoadUrl: webView = " + webView.getClass().getName() + ", url = " + url + ", additionalHttpHeaders = " + additionalHttpHeaders);
bridgeForWebView(webView);
}

@Before(clazz = com.tencent.smtt.sdk.WebView.class, method = "loadData", parameterTypes = {String.class, String.class, String.class})
public static void x5WebViewLoadData(com.tencent.smtt.sdk.WebView webView, String data, String mimeType, String encoding) {
public static void x5WebViewLoadData(View webView, String data, String mimeType, String encoding) {
Logger.d(TAG, "x5WebViewLoadData: webView = " + webView.getClass().getName());
bridgeForWebView(webView);
}

@Before(clazz = com.tencent.smtt.sdk.WebView.class, method = "loadDataWithBaseURL", parameterTypes = {String.class, String.class, String.class, String.class, String.class})
public static void x5WebViewLoadDataWithBaseURL(com.tencent.smtt.sdk.WebView webView, String baseUrl, String data, String mimeType, String encoding, String historyUrl) {
public static void x5WebViewLoadDataWithBaseURL(View webView, String baseUrl, String data, String mimeType, String encoding, String historyUrl) {
Logger.d(TAG, "x5WebViewLoadDataWithBaseURL: webView = " + webView.getClass().getName());
bridgeForWebView(webView);
}

@Before(clazz = com.tencent.smtt.sdk.WebView.class, method = "postUrl", parameterTypes = {String.class, byte[].class})
public static void x5WebViewPostUrl(com.tencent.smtt.sdk.WebView webView, String url, byte[] postData) {
public static void x5WebViewPostUrl(View webView, String url, byte[] postData) {
Logger.d(TAG, "x5WebViewPostUrl: webView = " + webView.getClass().getName());
bridgeForWebView(webView);
}

@Before(clazz = com.uc.webview.export.WebView.class, method = "loadUrl", parameterTypes = {String.class})
public static void ucWebViewLoadUrl(com.uc.webview.export.WebView webView, String url) {
public static void ucWebViewLoadUrl(View webView, String url) {
Logger.d(TAG, "ucWebViewLoadUrl: webView = " + webView.getClass().getName() + ", url = " + url);
bridgeForWebView(webView);
}

@Before(clazz = com.uc.webview.export.WebView.class, method = "loadUrl", parameterTypes = {String.class, Map.class})
public static void ucWebViewLoadUrl(com.uc.webview.export.WebView webView, String url, Map<String, String> additionalHttpHeaders) {
public static void ucWebViewLoadUrl(View webView, String url, Map<String, String> additionalHttpHeaders) {
Logger.d(TAG, "ucWebViewLoadUrl: webView = " + webView.getClass().getName() + ", url = " + url + ", additionalHttpHeaders = " + additionalHttpHeaders);
bridgeForWebView(webView);
}

@Before(clazz = com.uc.webview.export.WebView.class, method = "loadData", parameterTypes = {String.class, String.class, String.class})
public static void ucWebViewLoadData(com.uc.webview.export.WebView webView, String data, String mimeType, String encoding) {
public static void ucWebViewLoadData(View webView, String data, String mimeType, String encoding) {
Logger.d(TAG, "ucWebViewLoadData: webView = " + webView.getClass().getName());
bridgeForWebView(webView);
}

@Before(clazz = com.uc.webview.export.WebView.class, method = "loadDataWithBaseURL", parameterTypes = {String.class, String.class, String.class, String.class, String.class})
public static void ucWebViewLoadDataWithBaseURL(com.uc.webview.export.WebView webView, String baseUrl, String data, String mimeType, String encoding, String historyUrl) {
public static void ucWebViewLoadDataWithBaseURL(View webView, String baseUrl, String data, String mimeType, String encoding, String historyUrl) {
Logger.d(TAG, "ucWebViewLoadDataWithBaseURL: webView = " + webView.getClass().getName());
bridgeForWebView(webView);
}

@Before(clazz = com.uc.webview.export.WebView.class, method = "postUrl", parameterTypes = {String.class, byte[].class})
public static void ucWebViewPostUrl(com.uc.webview.export.WebView webView, String url, byte[] postData) {
public static void ucWebViewPostUrl(View webView, String url, byte[] postData) {
Logger.d(TAG, "ucWebViewPostUrl: webView = " + webView.getClass().getName());
bridgeForWebView(webView);
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,16 @@ public class HookClassesConfig {
putAroundHookMethod("android/webkit/WebView", "loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "webkitWebViewLoadData", "(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("android/webkit/WebView", "loadDataWithBaseURL", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "webkitWebViewLoadDataWithBaseURL", "(Landroid/webkit/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("android/webkit/WebView", "postUrl", "(Ljava/lang/String;[B)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "webkitWebViewPostUrl", "(Landroid/webkit/WebView;Ljava/lang/String;[B)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadUrl", "(Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadUrl", "(Lcom/tencent/smtt/sdk/WebView;Ljava/lang/String;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadUrl", "(Ljava/lang/String;Ljava/util/Map;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadUrl", "(Lcom/tencent/smtt/sdk/WebView;Ljava/lang/String;Ljava/util/Map;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadData", "(Lcom/tencent/smtt/sdk/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadDataWithBaseURL", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadDataWithBaseURL", "(Lcom/tencent/smtt/sdk/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "postUrl", "(Ljava/lang/String;[B)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewPostUrl", "(Lcom/tencent/smtt/sdk/WebView;Ljava/lang/String;[B)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadUrl", "(Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadUrl", "(Lcom/uc/webview/export/WebView;Ljava/lang/String;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadUrl", "(Ljava/lang/String;Ljava/util/Map;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadUrl", "(Lcom/uc/webview/export/WebView;Ljava/lang/String;Ljava/util/Map;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadData", "(Lcom/uc/webview/export/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadDataWithBaseURL", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadDataWithBaseURL", "(Lcom/uc/webview/export/WebView;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "postUrl", "(Ljava/lang/String;[B)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewPostUrl", "(Lcom/uc/webview/export/WebView;Ljava/lang/String;[B)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadUrl", "(Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadUrl", "(Landroid/view/View;Ljava/lang/String;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadUrl", "(Ljava/lang/String;Ljava/util/Map;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadUrl", "(Landroid/view/View;Ljava/lang/String;Ljava/util/Map;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadData", "(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "loadDataWithBaseURL", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewLoadDataWithBaseURL", "(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/tencent/smtt/sdk/WebView", "postUrl", "(Ljava/lang/String;[B)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "x5WebViewPostUrl", "(Landroid/view/View;Ljava/lang/String;[B)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadUrl", "(Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadUrl", "(Landroid/view/View;Ljava/lang/String;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadUrl", "(Ljava/lang/String;Ljava/util/Map;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadUrl", "(Landroid/view/View;Ljava/lang/String;Ljava/util/Map;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadData", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadData", "(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "loadDataWithBaseURL", "(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewLoadDataWithBaseURL", "(Landroid/view/View;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V", false);
putAroundHookMethod("com/uc/webview/export/WebView", "postUrl", "(Ljava/lang/String;[B)V", "com/growingio/android/sdk/autotrack/inject/WebViewInjector", "ucWebViewPostUrl", "(Landroid/view/View;Ljava/lang/String;[B)V", false);
putAroundHookMethod("android/app/AlertDialog", "show", "()V", "com/growingio/android/sdk/autotrack/click/ViewClickInjector", "alertDialogShow", "(Landroid/app/AlertDialog;)V", true);
putSuperHookMethod("android/view/View$OnClickListener", "onClick", "(Landroid/view/View;)V", "com/growingio/android/sdk/autotrack/click/ViewClickInjector", "viewOnClick", "(Landroid/view/View$OnClickListener;Landroid/view/View;)V", false);
putSuperHookMethod("android/content/DialogInterface$OnClickListener", "onClick", "(Landroid/content/DialogInterface;I)V", "com/growingio/android/sdk/autotrack/click/ViewClickInjector", "dialogOnClick", "(Landroid/content/DialogInterface$OnClickListener;Landroid/content/DialogInterface;I)V", false);
Expand Down

0 comments on commit 89ad77b

Please sign in to comment.