Runtime Execption java.lang.NoClassDefFoundError: retrofit2.Platform en Android

Estoy usando Rtofit para manejar los datos de Serverside de Mobile Después de implementar el Retrofit Estoy obteniendo el siguiente Excepción cualquier información sobre este problema dime dónde estoy mal

Init Retrofit:

mRetrofit = new Retrofit.Builder() .baseUrl(AppConstance.APP_URL) .addConverterFactory(GsonConverterFactory.create()) .build(); Iservice = mRetrofit.create(IdeaService.class); 

Archivo Gradle

 dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.2.1' compile 'com.squareup.retrofit2:retrofit:2.0.2' compile 'com.squareup.retrofit2:converter-gson:2.0.0' compile 'com.squareup.okhttp:okhttp:2.2.0' compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0' compile 'com.squareup.okio:okio:1.7.0' } 

Stacktrace

  04-26 11:54:36.441 18355-18355/com.omt.example W/dalvikvm: threadid=1: thread exiting with uncaught exception (group=0x41da0c98) 04-26 11:54:36.441 18355-18355/com.omt.example W/dalvikvm: threadid=1: uncaught exception occurred 04-26 11:54:36.442 18355-18355/com.omt.example W/System.err: java.lang.NoClassDefFoundError: retrofit2.Platform 04-26 11:54:36.444 18355-18355/com.omt.example W/System.err: at retrofit2.Retrofit$Builder.<init>(Retrofit.java:402) 04-26 11:54:36.445 18355-18355/com.omt.example W/System.err: at com.omt.example.utils.Idea.onCreate(Idea.java:79) 04-26 11:54:36.447 18355-18355/com.omt.example W/System.err: at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007) 04-26 11:54:36.448 18355-18355/com.omt.example W/System.err: at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4541) 04-26 11:54:36.449 18355-18355/com.omt.example W/System.err: at android.app.ActivityThread.access$1500(ActivityThread.java:151) 04-26 11:54:36.450 18355-18355/com.omt.example W/System.err: at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1381) 04-26 11:54:36.451 18355-18355/com.omt.example W/System.err: at android.os.Handler.dispatchMessage(Handler.java:110) 04-26 11:54:36.451 18355-18355/com.omt.example W/System.err: at android.os.Looper.loop(Looper.java:193) 04-26 11:54:36.452 18355-18355/com.omt.example W/System.err: at android.app.ActivityThread.main(ActivityThread.java:5292) 04-26 11:54:36.453 18355-18355/com.omt.example W/System.err: at java.lang.reflect.Method.invokeNative(Native Method) 04-26 11:54:36.454 18355-18355/com.omt.example W/System.err: at java.lang.reflect.Method.invoke(Method.java:515) 04-26 11:54:36.455 18355-18355/com.omt.example W/System.err: at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:824) 04-26 11:54:36.456 18355-18355/com.omt.example W/System.err: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:640) 04-26 11:54:36.457 18355-18355/com.omt.example W/System.err: at dalvik.system.NativeStart.main(Native Method) 04-26 11:54:36.457 18355-18355/com.omt.example W/dalvikvm: threadid=1: calling UncaughtExceptionHandler 

3 Solutions collect form web for “Runtime Execption java.lang.NoClassDefFoundError: retrofit2.Platform en Android”

Intenta cambiar el okhttp a okhttp3

 compile 'com.squareup.okhttp3:okhttp:3.2.0' compile 'com.squareup.okhttp3:okhttp-urlconnection:3.2.0' 

Como retrofit2 internamente utilizando okhttp3 .

Trate de construir y sincronizar gradle.

Yo tuve el mismo problema. Posible solución (solucionado mi problema):

1) Agregue gradle dependency: compile 'com.android.support:multidex:1.0.0' (archivo build.gradle)

2) Establecer multiDexEnabled true (archivo build.gradle)

3) Añadir android:name="android.support.multidex.MultiDexApplication" (archivo AndroidManifest.xml)

 <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme" android:name="android.support.multidex.MultiDexApplication"> </application> 

Agregue estos a su clase de servicio

// crear cliente OkHttpClient

  Strategy strategy = new AnnotationStrategy(); // Define the interceptor, add authentication headers Interceptor interceptor = new Interceptor() { @Override public okhttp3.Response intercept(Interceptor.Chain chain) throws IOException { Request newRequest = chain.request().newBuilder().addHeader("User-Agent", "Retrofit-Sample-App").build(); return chain.proceed(newRequest); } }; Serializer serializer = new Persister(strategy); OkHttpClient.Builder builder = new OkHttpClient.Builder(); builder.interceptors().add(interceptor); OkHttpClient client = builder.build(); HttpLoggingInterceptor httpLoggingInterceptor = new HttpLoggingInterceptor(); httpLoggingInterceptor.setLevel(HttpLoggingInterceptor.Level.BODY); builder.networkInterceptors().add(httpLoggingInterceptor); builder.build(); RxJavaCallAdapterFactory rxAdapter = RxJavaCallAdapterFactory.create(); Retrofit retrofit = new Retrofit.Builder() .addConverterFactory(SimpleXmlConverterFactory.create(serializer)) .addCallAdapterFactory(rxAdapter) .baseUrl(YellowTalkConstant.BASE_URL) .client(client) .build(); try{ this.mYellowTalkApi = retrofit.create(YellowTalkApi.class); }catch (Exception ex) { Log.e("Exception", ex.toString()); } 
  • Retrofit v2 ¿Call.cancel () elimina la devolución de llamada?
  • Retrofit 2 - Parámetro de consulta de URL
  • Encadenamiento de solicitudes en Retrofit + RxJava
  • ¿Cómo puedo devolver datos en el método de Retrofit onResponse?
  • Cómo obtener una respuesta genérica de Retrofit 2
  • Retrofit 2.x: Cabecera de registro para la solicitud y la respuesta
  • Cómo generar la biblioteca de cliente de Retrofit de wp resto api usando swagger
  • Caché de datos de respuesta con retrofit2 + okhttp3
  • Retrofit no puede crear adaptador de llamada
  • Error de actualización - Falta la dirección URL @GET o el parámetro @Url
  • Hacer sucesivas llamadas de api con Retrofit y devolver observable
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.