Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

i am using Rtofit to handling the Serverside Data from Mobile After Implementing the Retrofit I am Getting the below Exception any know about this issue tell me where i am did wrong

Init Retrofit:

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

Gradle File

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
like image 763
Pandiyan Muthu Avatar asked Apr 26 '16 06:04

Pandiyan Muthu


2 Answers

I had the same problem. Possible solution (fixed my problem):

1) Add gradle dependency: compile 'com.android.support:multidex:1.0.0' (file build.gradle)

2) Set multiDexEnabled true (file build.gradle)

3) Add android:name="android.support.multidex.MultiDexApplication" (file 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>
like image 102
harisdautovic Avatar answered Nov 11 '22 09:11

harisdautovic


Try change the okhttp to okhttp3

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

As retrofit2 internally using okhttp3.

Try build and sync gradle.

like image 4
Amit Gupta Avatar answered Nov 11 '22 09:11

Amit Gupta