1
我正在测试Android崩溃报告工具,并希望看到它如何响应来自WebViews的崩溃 - 即从其中运行的HTML/JavaScript/CSS代码。如何崩溃Android Webview?
我的问题是如何产生这样的崩溃。
我正在测试Android崩溃报告工具,并希望看到它如何响应来自WebViews的崩溃 - 即从其中运行的HTML/JavaScript/CSS代码。如何崩溃Android Webview?
我的问题是如何产生这样的崩溃。
从应用程序方面,你可以这样做:
mWebView.loadUrl("chrome://crash");
注意,你不能这样做,直接从JS/HTML代码 - 此URL的请求必须来自浏览器端。但是你可以使用Java桥从JS侧接收命令:
class WebViewCrasher {
@JavascriptInterface
public void crash() {
// post a task to UI thread to load "chrome://crash"
}
}
mWebView.addJavascriptInterface(new WebViewCrasher(), "crasher");
然后在你的JS代码,您可以拨打:
crasher.crash();
但要确保你是不是在释放注入这个对象版本的你的应用:)
我添加crasher.crash()到我的JS代码,但没有崩溃,我得到了“未捕获的ReferenceError:未定义的crasher”。结果是JS代码停止了,但WebView并没有导致崩溃。 –
你对'addJavascriptInterface'的调用是否在调用'loadUrl'之前(或者用来将内容加载到WebView中的任何方法)?见http://developer.android.com/reference/android/webkit/WebView.html#addJavascriptInterface(java.lang.Object,%20java.lang.String) –
第一个webView.addJavascriptInterface(新的JsObject(),“interOp” );然后webView.loadUrl(myurl);在仔细阅读你的答案之后,我发现你实际上是在加入不速之客......我错过了。 –