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 2 imprime cuerpo de respuesta vacío en registro con HttpLoggingInterceptor.Level.BODY
  • Retrofit 2.0 lanzando "IllegalArgumentException: los parámetros @Field solo se pueden usar con la codificación de formularios". ¿Cómo hacer la consulta correcta de la API y arreglarlo?
  • Retrofit 2 La solicitud POST multipart envía cotizaciones extra a PHP
  • Problema del tipo de contenido de Retrofit-2
  • Prueba de unidad JVM con Mockito para pruebas Retrofit2 y RxJava para solicitudes de red
  • Caché de datos de respuesta con retrofit2 + okhttp3
  • RxAndroid y Retrofit: No se puede crear el adaptador de llamada para io.reactivex.Observable <retrofit2.Response <okhttp3.ResponseBody >>
  • RxJava + Retrofit + sondeo
  • Retrofit 2.0 cancela un objeto de llamada
  • RxJava + Retrofit -> BaseObservable para llamadas API para manejo centralizado de respuesta
  • Cómo obtener una respuesta genérica de Retrofit 2
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.