Android 使用OkHttp上载文件,但发生java.lang.IllegalStateException:在okio.RealBufferedSink.write处关闭(RealBufferedSink.java:44)

Android 使用OkHttp上载文件,但发生java.lang.IllegalStateException:在okio.RealBufferedSink.write处关闭(RealBufferedSink.java:44),android,file-upload,okhttp,Android,File Upload,Okhttp,问题是标题说了什么。这只会在某些时候和某些电话里发生。这是我抓到的原木 java.lang.IllegalStateException closed okio.RealBufferedSink.write(RealBufferedSink.java:44) okio.ForwardingSink.write(ForwardingSink.java:35) com.******.******.network.UploadRequestBody$1.write(UploadRequestBody.j

问题是标题说了什么。这只会在某些时候和某些电话里发生。这是我抓到的原木

java.lang.IllegalStateException
closed
okio.RealBufferedSink.write(RealBufferedSink.java:44)
okio.ForwardingSink.write(ForwardingSink.java:35)
com.******.******.network.UploadRequestBody$1.write(UploadRequestBody.java:75)
okio.RealBufferedSink.emitCompleteSegments(RealBufferedSink.java:176)
okio.RealBufferedSink.writeAll(RealBufferedSink.java:104)
com.squareup.okhttp.RequestBody$3.writeTo(RequestBody.java:118)
com.squareup.okhttp.MultipartBuilder$MultipartRequestBody.writeOrCountBytes(MultipartBuilder.java:277)
com.squareup.okhttp.MultipartBuilder$MultipartRequestBody.writeTo(MultipartBuilder.java:297)
com.******.******.network.UploadRequestBody.writeTo(UploadRequestBody.java:59)
com.squareup.okhttp.internal.http.HttpEngine$NetworkInterceptorChain.proceed(HttpEngine.java:718)
com.squareup.okhttp.internal.http.HttpEngine.readResponse(HttpEngine.java:576)
com.squareup.okhttp.Call.getResponse(Call.java:287)
com.squareup.okhttp.Call$ApplicationInterceptorChain.proceed(Call.java:243)
com.squareup.okhttp.Call.getResponseWithInterceptorChain(Call.java:205)
com.squareup.okhttp.Call.access$100(Call.java:35)
com.squareup.okhttp.Call$AsyncCall.execute(Call.java:171)
com.squareup.okhttp.internal.NamedRunnable.run(NamedRunnable.java:33)
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
java.lang.Thread.run(Thread.java:848)
你介意帮我一下,告诉我如何避免吗?

我在github找到了这个


只能调用
response.body().string()
一次。

看起来像个bug。您正在使用哪个版本的OkHttp?是否正在关闭正在写入的流?我使用了2.7.5,但尚未调用close函数:(