生成器中的客户端(com.squareup.okhttp.OkhttpClient)无法应用于(okhttp3.OkHttpClient)

时间:2017-03-08 08:59:04

标签: android retrofit okhttp okhttp3

我正在尝试使用Retrofit2,并使用

在Retrofit1中完成日志错误。
.setLogLevel(RestAdapter.LogLevel.FULL)

我正面临着.client(Okhttp客户端)的错误;这是我的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    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.2.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.0-beta5'
    testCompile 'junit:junit:4.12'

    compile 'com.google.code.gson:gson:2.4'
    compile 'com.squareup.retrofit:retrofit:2.0.0-beta3'
    compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

    compile 'com.squareup.okhttp3:okhttp:3.2.0'
    compile 'com.squareup.okhttp3:logging-interceptor:3.2.0'

}

这是我的java代码:

HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor();
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);
    OkHttpClient client = new OkHttpClient.Builder().addInterceptor(interceptor).build();

    Retrofit retrofit = new Retrofit.Builder()
            .baseUrl(Api.BASE_URL)
            .client(client)
            .addConverterFactory(GsonConverterFactory.create())
            .build();

    Interface service = retrofit.create(Interface.class);

我正在使用Retrofit 2.0.0-beta3并仍然遇到此问题。我无法从这里前进。任何帮助表示赞赏。见下图:

Okhttp client issue

这是我在下面的导入声明:

enter image description here

2 个答案:

答案 0 :(得分:2)

看来你的导入声明来自okhttp, 看看你的导入: -

必须是import okhttp3.OkHttpClient;

或者您的改装导入必须是错误的..它必须是retrofit2.Retrofit

<强> [编辑]

似乎他们的beta版本存在问题,请将其恢复为稳定版本。

答案 1 :(得分:1)

现在,改造不再处于测试阶段。请改用com.squareup.retrofit2:retrofit:2.2.0