【问题标题】:square - okhttp - OkHttpClient cannot be resolvedsquare - okhttp - OkHttpClient 无法解析
【发布时间】:2016-04-21 08:21:20
【问题描述】:

目前我正在处理Stormy Treehouse Android app。我想使用square OkHttpClient,但在导入类时出现错误“无法解析符号okhttp3”:import com.squareup.okhttp3.OkHttpClient;。用 okhttp 替换 okhttp3 并不能修复错误。谢谢你的帮助。

MainActivity.java

package com.trainerworkout.stormy;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

// cannot resolve symbol 'okhttp3'
import com.squareup.okhttp3.OkHttpClient;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        String apiKey = "f9d033c3cdeab16b95cecdeb6721a093";
        double latitude = 45.5124;
        double longitude = -73.5547;
        String forecastUrl = "https://api.forecast.io/forecast/" + apiKey + "/" + latitude + "," + longitude;
        // Cannot resolve symbol
        OkHttpClient client = new OkHttpClient();

        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    } // onCreate()
} // MainActivity

build.gradle (Module:app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        applicationId "com.trainerworkout.stormy"
        minSdkVersion 15
        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'])
    testCompile 'junit:junit:4.12'
    compile 'com.android.support:appcompat-v7:23.1.1'
    compile 'com.squareup.okhttp3:okhttp:3.0.1'
}

【问题讨论】:

  • 替换 com.squareup.okhttp3.OkHttpClient;使用 okhttp3.OkHttpClient

标签: java android


【解决方案1】:

尝试删除您的导入,然后转到此行

OkHttpClient client = new OkHttpClient();

将光标移动到 OkHttpClient 并按 Alt+Enter,您将看到 2 个可供选择导入的类,如下图所示:

所以基本上有两种类型的导入可用

1)。 import com.squareup.okhttp.OkHttpClient;

2)。 import okhttp3.OkHttpClient;

而你的都不匹配,请尝试导入正确的,这取决于你的要求。

【讨论】:

  • 删除导入并使用 Alt+Enter 自动完成后,添加了这一行 import okhttp3.OkHttpClient; 并解决了问题。非常感谢。
  • 难以置信,如此笨拙......我确认这行得通。
  • 大声笑..谢谢:D
【解决方案2】:

我也遇到了同样的问题,请尝试如下更改您在 gradle 中的依赖项。

**

依赖{

compile fileTree(dir: 'libs', include: ['*.jar'])
compile files('libs/okhttp-3.4.2.jar')
compile 'com.squareup.okhttp3:okhttp:3.4.2'
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
    exclude group: 'com.android.support', module: 'support-annotations'
})
compile 'com.android.support:appcompat-v7:25.0.1'
testCompile 'junit:junit:4.12'

}

**

【讨论】:

    【解决方案3】:

    您必须在 build.gradle(app) 中添加这两个依赖项:

    编译'com.squareup.okhttp:okhttp:2.2.0'

    编译'com.squareup.okhttp:okhttp-urlconnection:2.0.0'

    之后,您将能够完美地安装您的应用程序。

    【讨论】:

      猜你喜欢
      • 2016-04-13
      • 1970-01-01
      • 2017-02-20
      • 1970-01-01
      • 2016-04-13
      • 2015-09-02
      • 2017-02-15
      • 1970-01-01
      • 2019-09-10
      相关资源
      最近更新 更多