React-native-webview:net :: ERR_FAILED

时间:2019-06-24 13:01:51

标签: android react-native react-native-android react-native-webview

错误说明: 第一次打开应用程序时,网站已正确加载到WebView中。然后我进入主屏幕,过一会儿我返回到应用程序并得到以下错误:

Website not available
The website at https://www.example.com?param=value could not be loaded because:
net::ERR_FAILED

有人以前见过此错误吗?

这是来自Android Studio的一些日志,可能与我无关/有用。

2019-06-24 10:59:11.233 16101-16166/? W/cr_ChildProcLH: Create a new ChildConnectionAllocator with package name = com.android.chrome, sandboxed = true
2019-06-24 10:59:11.237 16101-16101/? I/cr_BrowserStartup: Initializing chromium process, singleProcess=false
2019-06-24 10:59:11.239 16101-16101/? W/ResourceType: Failure getting entry for 0x7f130537 (t=18 e=1335) (error -2147483647)

2019-06-24 10:59:11.241 16169-16169/? E//system/bin/webview_zygote32: failed to make and chown /acct/uid_99051: Permission denied
2019-06-24 10:59:11.241 16169-16169/? E/Zygote: createProcessGroup(99051, 0) failed: Permission denied

2019-06-24 10:59:11.244 16169-16169/? W//system/bin/webview_zygote32: Using default instruction set features for ARM CPU variant (cortex-a9) using conservative defaults
2019-06-24 10:59:11.248 1700-6616/? I/ActivityManager: Start proc 16169:com.android.chrome:sandboxed_process0/u0i51 for webview_service dk.MYAPPNAME.app/org.chromium.content.app.SandboxedProcessService0
2019-06-24 10:59:11.264 1991-1991/? I/chatty: uid=10016(u0_a16) com.android.systemui identical 1 line
2019-06-24 10:59:11.265 16169-16169/? I/SamplingProfilerIntegration: Profiling disabled.
2019-06-24 10:59:11.289 16197-16197/? E/asset: setgid: Operation not permitted

要复制: 我只能在发行版中重现此错误-在调试中不行。首次加载应用后,会出现此错误,然后将其保留并在几个小时后返回应用。 也许与缓存有关。

当我强制退出应用程序时,问题仍然存在。如果我重新安装该应用程序,则它会工作一段时间。

预期的行为: 网站应完全加载。

屏幕截图/视频: the error

环境:  -操作系统:Android(华为P20 Pro和其他多款Android手机)  -操作系统版本:Android 8  -本机版本:59.3  -react-native-webview版本:5.6.2

1 个答案:

答案 0 :(得分:2)

我找到了解决此问题的方法!

看起来像个残破的服务人员使网站停滞了。 我通过在WebView中使用injectedJavascript道具来注入以下代码行来解决了这个问题:

navigator.serviceWorker.getRegistrations().then(function(registrations) {
   for (let registration of registrations) {
       registration.unregister();
   }
});

这是Google Chrome 75中的错误。