无法导入 com.squareup.okhttp.OkHttpClient;

not able to import com.squareup.okhttp.OkHttpClient;

我正在 android studio 工作并从网络上获取一些数据。我尝试使用 OkHttpClient 并将 jars 添加到我的项目文件夹,但我仍然无法导入它。

显示can't resolve symbol okhttp。 我尝试了一些解决方案但无法解决 problem.Here is my build.gradle file

apply plugin: 'com.android.application'
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.0"

    defaultConfig {
        applicationId "com.example.app"
        minSdkVersion 14
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }


}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.google.android.gms:play-services:8.4.0'
 //   compile files('libs/okhttp-3.0.1.jar')
   // compile files('libs/okio-1.6.0.jar')


}

我看到你 are/were 试图用你手动放在 libs 文件夹中的 jar 进行编译。这是否有原因(例如您需要该库的特定版本等)?如果您没有注意到,这些行已被注释掉 - 这意味着它们不会被处理,因此不会添加到您的应用程序中。

可能的解决方案:

  1. 尝试将此最新版本添加到您的 dependencies

      implementation 'com.squareup.okhttp3:okhttp:4.9.0'
    

来源:https://github.com/square/okhttp

让 gradle 为您处理下载和导入:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile 'com.android.support:appcompat-v7:23.0.0'
    compile 'com.google.android.gms:play-services:8.4.0'
    compile 'com.squareup.okhttp3:okhttp:3.0.1'
}

Gradle 应该有这样一行

implementation 'com.squareup.okhttp3:okhttp:3.0.1' 

这就是您导入它的方式

import okhttp3.OkHttpClient;

因为 OkHttpClient 在上一个版本中已经从包 com.squareup.okhttp 移动到 okhttp3

更多详情是here and here

android {
    compileSdkVersion 25
    buildToolsVersion '25.0.2'
    useLibrary  'org.apache.http.legacy'
    ...
}

dependencies {
...
compile 'com.squareup.okhttp3:okhttp:3.4.1'

}

并将您的导入从 com.squareup.okhttp.OkHttpClient 更改为

import okhttp3.OkHttpClient;

您需要添加以下库:

compile 'com.squareup.okhttp:okhttp:2.2.0'
compile 'com.squareup.okhttp:okhttp-urlconnection:2.0.0'

使用最新版本吧!

就我而言,尝试了所有的可能性,但在更新到最新版本后,问题已解决。

implementation 'com.squareup.okhttp3:okhttp:4.9.0'

在 build.gradle 中导入为 api,例如

dependencies {
api 'com.squareup.okhttp3:okhttp:3.11.0'

查看此注释https://github.com/dropbox/dropbox-sdk-java#when-i-use-okhttp3requestor-in-dbxrequestconfig-i-get-errors-like-class-file-for-okhttp3okhttpclient-not-found