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);在仔細閱讀你的答案之後,我發現你實際上是在加入不速之客......我錯過了。 –