即使在添加依赖项并导入类之后,我也会收到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'
}
答案 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'
这篇文章可能会有所帮助
答案 2 :(得分:0)
此外,它还可以与 multidex true
中的 build.gradle
选项相关联(是的,似乎有些设备在使用多索引应用时遇到问题(请参阅,三星))
如果是这种情况,请关闭此标志并重建项目。考虑使用
minifyEnabled true
shrinkResources true
减少你的apk大小。如果它仍然太大,那真是奇怪和坏消息,但有一些techniques to put your apk on diet。