无法导入 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 进行编译。这是否有原因(例如您需要该库的特定版本等)?如果您没有注意到,这些行已被注释掉 - 这意味着它们不会被处理,因此不会添加到您的应用程序中。
可能的解决方案:
尝试将此最新版本添加到您的 dependencies
:
implementation 'com.squareup.okhttp3:okhttp:4.9.0'
让 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
。
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'
我正在 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 进行编译。这是否有原因(例如您需要该库的特定版本等)?如果您没有注意到,这些行已被注释掉 - 这意味着它们不会被处理,因此不会添加到您的应用程序中。
可能的解决方案:
尝试将此最新版本添加到您的
dependencies
:implementation 'com.squareup.okhttp3:okhttp:4.9.0'
让 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
。
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'