E/JavaBinder: *** Uncaught remote exception! (Exceptions are not yet supported across processes.)
java.lang.ArrayIndexOutOfBoundsException: length=8192; index=8192
at com.android.okhttp.okio.Buffer.writeByte(Buffer.java:973)
at com.android.okhttp.internal.Platform.concatLengthPrefixed(Platform.java:212)
at com.android.okhttp.internal.Platform.configureTlsExtensions(Platform.java:116)
at com.android.okhttp.internal.io.RealConnection.connectTls(RealConnection.java:187)
at com.android.okhttp.internal.io.RealConnection.connectSocket(RealConnection.java:149)
at com.android.okhttp.internal.io.RealConnection.connect(RealConnection.java:112)
at com.android.okhttp.internal.http.StreamAllocation.findConnection(StreamAllocation.java:184)
at com.android.okhttp.internal.http.StreamAllocation.findHealthyConnection(StreamAllocation.java:126)
at com.android.okhttp.internal.http.StreamAllocation.newStream(StreamAllocation.java:95)
at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:281)
at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:224)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:461)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:407)
at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:538)
at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getResponseCode(DelegatingHttpsURLConnection.java:105)
at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:26)
at android.media.MediaHTTPConnection.seekTo(MediaHTTPConnection.java:212)
at android.media.MediaHTTPConnection.getSize(MediaHTTPConnection.java:374)
at android.media.IMediaHTTPConnection$Stub.onTransact(IMediaHTTPConnection.java:81)
at android.os.Binder.execTransact(Binder.java:731)
此异常发生在android媒体播放器的流式传输和缓冲中,播放器在不寻常的时间段内(有时甚至永远)停留在同一位置。
答案 0 :(得分:0)
我认为您无能为力。它是okhttp开发人员的been reported。但是,正如他们指出的那样,该错误与android随附的okhttp的内部打包版本有关。 Square的外部开发版本没有任何错误,因此他们正确地解决了该问题,为非问题。
该错误是reported to google,但是在过去的近两年中似乎没有采取任何措施。
也许您可以在项目中包括来自ok的较新的okhttp上游版本,并以某种方式告诉MediaHTTPConnection
使用okhttp3
的{{1}}实现。有OkUrlFactory可与Java的URL.setURLStreamHandlerFactory一起使用。但是,不建议这样做,重写内置的url流处理程序逻辑可能不是一个好主意。
实际上,它已从HttpURLConnection
的最新版本中删除。删除它的开发人员确实制作了ObsoleteUrlFactory.java,您可以将自己复制/粘贴到您的项目中,并用作:
okhttp