2017-01-19 4 views
3

Я прошу JSON-файл с OkHttp3, RetroFit 2.0 + RxObservable, и он бросает интерфейс не реализован. Похоже, что это происходит только для пользователей Android 4.3, которые используют старую версию нашего приложения и обновляют до последней версии приложения.Fatal - интерфейс не реализован - OkHttp3 - Android

01-19 16:43:31.089 1611-1692/? E/AndroidRuntime: FATAL EXCEPTION: IntentService[MyDataIntentService] 
            java.lang.IncompatibleClassChangeError: interface not implemented 
             at okhttp3.internal.Util.closeQuietly(Util.java:100) 
             at okhttp3.internal.connection.StreamAllocation.streamFailed(StreamAllocation.java:332) 
             at okhttp3.internal.http.RetryAndFollowUpInterceptor.recover(RetryAndFollowUpInterceptor.java:209) 
             at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.java:132) 
             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
             at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:212) 
             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92) 
             at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67) 
             at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:179) 
             at okhttp3.RealCall.execute(RealCall.java:63) 
             at retrofit2.OkHttpCall.execute(OkHttpCall.java:174) 
             at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:144) 
             at retrofit2.adapter.rxjava.RxJavaCallAdapterFactory$CallOnSubscribe.call(RxJavaCallAdapterFactory.java:125) 
             at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50) 
             at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 
             at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:50) 
             at rx.internal.operators.OnSubscribeLift.call(OnSubscribeLift.java:30) 
             at rx.Observable.subscribe(Observable.java:8759) 
             at rx.Observable.subscribe(Observable.java:8726) 
             at rx.Observable.subscribe(Observable.java:8581) 
             at com.somepackage.someclass.loadSomeJSONThing(MyFile.kt:61) 

Вот вызов:

//get returns Observable<Any> 
myApi.getSomeObj("some_id") 
    .subscribe({ responseHandler(it) }, 
       { Crashlytics.logException(it) }) 

ответ

2

Я думаю, что это OkHttp регрессия. Мы неправильно предполагаем, что Socket реализует Closeable, что не относится к более старым устройствам. Будет исправлено очень скоро.

Fixed здесь: https://github.com/square/okhttp/pull/3125

+0

Как ERRor справиться с этим в среднем времени ?? –

+0

Для API 16 у меня нет возможности проверять ресурсы –

+0

@TimNuwin Вы не можете использовать моментальный снимок, или вы можете дождаться следующей сборки. –

 Смежные вопросы

  • Нет связанных вопросов^_^