android - java.io.IOException : close failed: EIO (I/O error) libcore. io.IoUtils.close(IoUtils.java:41) 导致 WebView 崩溃

标签 android android-webview webviewclient

我有一个Android 4.0/4.1用户上传的崩溃日志,但我无法重现。日志是这样的:

java.io.IOException: close failed: EIO (I/O error)
libcore.io.IoUtils.close(IoUtils.java:41)
java.io.FileInputStream.close(FileInputStream.java:121)
android.webkit.JWebCoreJavaBridge.nativeServiceFuncPtrQueue(Native Method)
android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:113)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:949)
java.lang.Thread.run(Thread.java:856)
cause by:
libcore.io.ErrnoException: close failed: EIO (I/O error)
libcore.io.Posix.close(Native Method)
libcore.io.BlockGuardOs.close(BlockGuardOs.java:75)
libcore.io.IoUtils.close(IoUtils.java:38)
java.io.FileInputStream.close(FileInputStream.java:121)
android.webkit.JWebCoreJavaBridge.nativeServiceFuncPtrQueue(Native Method)
android.webkit.JWebCoreJavaBridge.handleMessage(JWebCoreJavaBridge.java:113)
android.os.Handler.dispatchMessage(Handler.java:99)
android.os.Looper.loop(Looper.java:137)
android.webkit.WebViewCore$WebCoreThread.run(WebViewCore.java:949)
java.lang.Thread.run(Thread.java:856)

有谁知道它是怎么发生的?或者如何解决它?

最佳答案

这是由于只读文件而发生的。

我认为这是由于 EIO 来自您文件中的 bad_file_flush似乎当内核访问文件失败时,它会将打开的文件描述转换为以 bad_inode_ops 作为其文件操作的伪打开文件。我找不到为基于 FAT 的文件系统执行此操作的代码,但也许有一些通用代码。

由于 FileChannel 缓存数据 我认为您需要在 close() FileChannel 之前调用 force()

有关更多信息,请访问此链接 Link1

关于android - java.io.IOException : close failed: EIO (I/O error) libcore. io.IoUtils.close(IoUtils.java:41) 导致 WebView 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24794728/

相关文章:

android - 仅通过一种构建就可以实现资源缩减

android - 我们可以将什么作为音频文件的 okhttp3 MediaType.parse 方法的参数?

java - 如何解决这个错误: Android resource linking failed?

android - WebView 用户代理

php - android webview cookies 不工作

android 中的 java.lang.ClassCastException : org. ksoap2.serialization.SoapObject

android - WebView 最顶层和最底层

javascript - Android WebView - 使用 Javascript 设置 HTML 字段焦点

android - 如何以编程方式在 WebView 中输入表单输入字段,然后单击提交?