我最近注意到许多用户正在收到此 IllegalStateException
,这会导致应用程序崩溃。它发生在 WebView
向用户显示:
Fatal Exception: java.lang.IllegalArgumentException: reasonPhrase can't be empty.
at android.webkit.WebResourceResponse.setStatusCodeAndReasonPhrase + 129(WebResourceResponse.java:129)
at android.webkit.WebResourceResponse.(WebResourceResponse.java:70)
at jY.a + 308(jY.java:308)
at zn.handleMessage + 67(zn.java:67)
at android.os.Handler.dispatchMessage + 102(Handler.java:102)
at android.os.Looper.loop + 211(Looper.java:211)
at android.app.ActivityThread.main + 5373(ActivityThread.java:5373)
at java.lang.reflect.Method.invoke(Method.java)
at java.lang.reflect.Method.invoke + 372(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run + 1020(ZygoteInit.java:1020)
at com.android.internal.os.ZygoteInit.main + 815(ZygoteInit.java:815)
并非每个用户都会发生这种崩溃。我曾尝试要求用户更新 Chrome,希望它能更新 Chromium,并要求他们安装最新版本的 Android System WebView,但都没有给我任何成功。有没有人遇到过这个并知道如何解决这个问题?我什至无法亲自复制它。
我还在这里找到了这个错误日志:
https://bugs.chromium.org/p/chromium/issues/detail?id=925887
我还查看了源代码,可以看到相关的崩溃是由
line 154
引起的。 :https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/webkit/WebResourceResponse.java
奇怪的是,这应该只在发生错误时发生,但我可以看到
WebView
从屏幕截图为用户正确加载,然后应用程序在不久后崩溃。任何帮助将不胜感激!
最佳答案
我也遇到了类似的问题
我使用了 Jetpack webkit,
来自 androidx.webkit 包。
使用 WebViewClientCompat
来自 androidx.webkit
用于创建 webViewClient 导致上述异常,
但回退到框架的WebViewClient
工作。webview.webViewClient = WebViewClient()
关于android - 非法状态异常 : reasonPhrase can't be empty with Android WebView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57414530/