没有类找到异常com.squareup.okhttp.logging.HttpLoggingInterceptor

时间:2015-12-23 15:30:20

标签: android retrofit okhttp

即使在添加依赖项并导入类之后,我也会收到java.lang.NoClassDefFoundError:com.squareup.okhttp.logging.HttpLoggingInterceptor。

有人可以帮忙吗?

Gradle Build文件

   apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "xyz"
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
        multiDexEnabled = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    repositories {
        mavenCentral()
    }
 }

    dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.android.support:support-v4:23.1.1'
    compile 'com.google.code.gson:gson:2.4'
    compile 'com.android.support:design:23.1.1'
    compile 'com.android.support:cardview-v7:23.1.1'
    compile 'com.google.android.gms:play-services:8.3.0'
    compile 'com.facebook.android:facebook-android-sdk:4.1.0'
    compile 'com.android.support:recyclerview-v7:23.1.1'
    compile 'com.squareup.picasso:picasso:2.5.2'
    compile 'com.jakewharton:butterknife:7.0.1'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
    compile 'com.squareup.okhttp:logging-interceptor:2.6.0'
    }

3 个答案:

答案 0 :(得分:13)

就我而言,我发现okhttp3和okhttp3:logging-interceptor依赖项的版本需要完全匹配。例如:

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

答案 1 :(得分:2)

可能是改装的兼容性问题。

尝试:

compile' com.squareup.okhttp:logging-interceptor:2.5.0'

这篇文章可能会有所帮助

App crash on HttpLoggingInterceptor

答案 2 :(得分:0)

此外,它还可以与 multidex true 中的 build.gradle 选项相关联(是的,似乎有些设备在使用多索引应用时遇到问题(请参阅,三星))

如果是这种情况,请关闭此标志并重建项目。考虑使用

minifyEnabled true
shrinkResources true

减少你的apk大小。如果它仍然太大,那真是奇怪和坏消息,但有一些techniques to put your apk on diet