java.lang.NoClassDefFoundError : com. squareup.okhttp.OkHttpClient

标签 java android okhttp

我读过这个问题Android http connecting with OkHttp Dont workNoClassDefFoundError for OkHttpClient但它并没有解决我的问题。仍然面临 java.lang.NoClassDefFoundError: com.squareup.okhttp.OkHttpClient 这个错误,我添加了 okhttp-3.4.1.jarokio- 1.10.0.jar,我也尝试添加 OkHttp 依赖项 compile 'com.squareup.okhttp3:okhttp:3.4.1' 但我的 Android Studio 说它无法解决它。所以妈妈真的很困惑我能为此做什么。我使用 Android Studio 版本 1.5.1

下面是我在 logcat 中的错误

09/pixsor.app.huzykamz.pixoradmin E/AndroidRuntime: FATAL EXCEPTION: main
Process: pixsor.app.huzykamz.pixoradmin, PID: 14209
java.lang.NoClassDefFoundError: com.squareup.okhttp.OkHttpClient
at com.squareup.picasso.OkHttpDownloader.defaultOkHttpClient(OkHttpDownloader.java:31)
at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:76)
at com.squareup.picasso.OkHttpDownloader.<init>(OkHttpDownloader.java:65)
at pixsor.app.huzykamz.pixoradmin.PixorAdmin.onCreate(PixorAdmin.java:21)
at android.app.Instrumentation.callApplicationOnCreate(Instrumentation.java:1007)
at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4328)
at android.app.ActivityThread.access$1500(ActivityThread.java:135)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5001)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)

错误出现在这一行;

builder.downloader(new OkHttpDownloader(this,Integer.MAX_VALUE));

在下面的代码中;

 FirebaseDatabase.getInstance().setPersistenceEnabled(true);
            Picasso.Builder builder = new Picasso.Builder(this);
            builder.downloader(new OkHttpDownloader(this,Integer.MAX_VALUE));
            Picasso built = builder.build();
            built.setIndicatorsEnabled(false);
            built.setLoggingEnabled(true);
            Picasso.setSingletonInstance(built);

这是我的 gradle 文件。

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.1"

    defaultConfig {
     //   vectorDrawables.useSupportLibrary = true
        applicationId "pixsor.app.huzykamz.pixoradmin"
        minSdkVersion 16
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

       // multiDexEnabled true
    }
    buildTypes {
        release {
           // minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}




dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.4.0'
    compile 'com.android.support:design:23.4.0'
    compile 'com.google.firebase:firebase-core:9.4.0'
    compile 'com.google.firebase:firebase-database:9.4.0'
    compile 'com.google.firebase:firebase-crash:9.4.0'
    compile 'com.google.firebase:firebase-auth:9.4.0'
    compile 'com.google.firebase:firebase-storage:9.4.0'
    compile 'com.android.support:cardview-v7:23.0.+'
    compile 'com.android.support:recyclerview-v7:23.0.+'
    compile 'com.firebaseui:firebase-ui:0.4.3'

}
apply plugin: 'com.google.gms.google-services'

当我尝试添加 OkHttp 依赖项时,会发生这种情况 enter image description here

所以请帮帮我......

最佳答案

关闭 Android Studio 的离线模式,然后 尝试在您的 gradle 文件中添加以下依赖项。

我建议您使用依赖项而不是 jar 文件。

compile 'com.squareup.okhttp:okhttp:2.4.0'

然后清理、重建并运行您的项目

关于java.lang.NoClassDefFoundError : com. squareup.okhttp.OkHttpClient,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39827198/

相关文章:

java - 使用 maven JDBC mysql 找不到类

java - 在android中获取外部SD卡的正确路径

java - 仅验证选定的其余端点 : spring boot

java - android OkHttpClient 请求错误

java - com.fasterxml.jackson.databind.exc.MismatchedInputException : Cannot deserialize instance of `java.util.ArrayList` out of START_OBJECT token

android - Android设计支持库-版本号和Gradle错误

具有多个值的枚举中的 java.lang.ExceptionInInitializerError

java - 如何在选择文本时停止 EditText 显示键盘?

android - 在循环中添加 post 参数 - OkHTTP

java - 得到 'IOException: hostname was not verified' ,尽管给定的主机名(IP 地址)与通用名称匹配