Excepción de interceptor de registro de actualización

Estoy tratando de habilitar el registro con Retrofit, pero estoy recibiendo esta excepción:

07-13 12:44:53.278 28698-29248/com.xxxx.debug E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher Process: com.xxxx.debug, PID: 28698 java.lang.NoSuchMethodError: No virtual method log(Ljava/lang/String;)V in class Lokhttp3/internal/Platform; or its super classes (declaration of 'okhttp3.internal.Platform' appears in /data/data/com.xxxx.debug/files/instant-run/dex/slice-realm-optional-api_16b022358933b490d810e358ea76b13cd4d88163-classes.dex) at okhttp3.logging.HttpLoggingInterceptor$Logger$1.log(HttpLoggingInterceptor.java:109) at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:157) at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:190) at com.xxxx.api.RetrofitClient$1.intercept(RetrofitClient.java:59) at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:190) at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163) at okhttp3.RealCall.access$100(RealCall.java:30) at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127) at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588) at java.lang.Thread.run(Thread.java:818) 

Y así es como lo hago:

 public class RetrofitClient { private static MyService instance; public static MyService getInstance(Context context) { if (instance == null) { instance = newInstance(context); } return instance; } private static MyService newInstance(Context context) { Retrofit retrofit = new Retrofit.Builder() .baseUrl(context.getString(R.string.base_url)) .addConverterFactory(GsonConverterFactory.create()) .client(getClient()) .build(); return retrofit.create(MyService.class); } @NonNull private static OkHttpClient getClient() { HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor() .setLevel(HttpLoggingInterceptor.Level.BODY); OkHttpClient.Builder httpClient = new OkHttpClient.Builder() .addInterceptor(new Interceptor() { @Override public Response intercept(Chain chain) throws IOException { Request original = chain.request(); Request request = original.newBuilder() .header("api-key", "...") .header("version-app", "-") .header("platform", "android") .header("version", "-") .header("device", "-") .method(original.method(), original.body()) .build(); Response response = chain.proceed(request);// <-- CRASH return response; } }) .addInterceptor(interceptor); return httpClient.build(); } } 

He intentado agregar solamente un interceptor pero todavía estropeando. Estoy utilizando estas dependencias:

 compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.retrofit2:converter-gson:2.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.4.1' 

¿Qué estoy haciendo mal aquí?

EDIT: Bueno, esto es vergonzoso … el problema se resolvió. No he cambiado nada, estoy revisando todos mis compromisos y tanto RetrofitClient como build.gradle no han cambiado. El problema, por lo tanto, no estaba relacionado con dependencias o versiones gradle.

¡Afortunadamente alguien lanzará algo de luz sobre esta excepción!

Retrofit 2.1.0 se basa en OkHttp 3.3.0, por lo que utilizaría la misma versión para el interceptor de registro (que es parte de OkHttp):

 compile 'com.squareup.okhttp3:logging-interceptor:3.3.0' 

¿Puedes intentar agregar la siguiente dependencia

  compile 'com.squareup.okhttp3:okhttp:3.4.1' 

Y avísame si hay algún progreso

También puede consultar este enlace .

En mi caso, este par de dependencias resolvieron el problema:

 compile 'com.squareup.retrofit2:retrofit:2.1.0' compile 'com.squareup.okhttp3:logging-interceptor:3.3.1' 

De todos modos, el problema está en la consistencia de la dependencia …

  • Android - Retrofit 2 - Resultado del autenticador
  • Retrofit 2 Callback onResponse en el subproceso de fondo
  • Retrofit @body con @multipart teniendo problema
  • ¿Cómo puedo devolver String o JSONObject de devolución de llamada asíncrona usando Retrofit?
  • Broken Pipe al intentar cargar una actualización de archivo grande 2
  • Manejo de errores de llamada síncrono de Retrofit 2 para errores 4xx
  • Retrofit - android.os.NetworkOnMainThreadException
  • SocketTimeoutException actualización de Android
  • Runtime Execption java.lang.NoClassDefFoundError: retrofit2.Platform en Android
  • Consiguió este error con retrofit2 y OkHttp3. No se puede resolver el host "<host-name>": ninguna dirección asociada con el nombre de host
  • Uso de Retrofit en Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.