繁体   English   中英

应用程序在HttpLoggingInterceptor上崩溃

[英]App crash on HttpLoggingInterceptor

我用Retrofit 2,okhttp和okhttp:logging-interceptor创建了项目。

private static APIInterface apiInterface;
private static RestClient restClient;
private static HttpLoggingInterceptor interceptor;

OkHttpClient okHttpClient = new OkHttpClient();
    okHttpClient.setConnectTimeout(30, TimeUnit.SECONDS);
    okHttpClient.setReadTimeout(30, TimeUnit.SECONDS);
    okHttpClient.interceptors().add(new Interceptor() {
        @Override
        public Response intercept(Chain chain) throws IOException {
            Request original = chain.request();

            Request.Builder requestBuilder = original.newBuilder()
                    .header("Accept", "application/json")
                    .header("X-Parse-Application-Id", Constants.PARSE_APP_ID)
                    .header("X-Parse-REST-API-Key", Constants.PARSE_REST_API)
                    .method(original.method(), original.body());

            Request request = requestBuilder.build();
            return chain.proceed(request);
        }
    });

    interceptor = new HttpLoggingInterceptor(); // got crash here
    interceptor.setLevel(HttpLoggingInterceptor.Level.BODY);

    okHttpClient.interceptors().add(interceptor);

这是我的踪迹:

java.lang.VerifyError: com/squareup/okhttp/logging/HttpLoggingInterceptor
   at com.rocker.rest.RestClient.setupRestClient(RestClient.java:62)
   at com.rocker.rest.RestClient.<clinit>(RestClient.java:39)
   at com.rocker.fragment.HistoryFragment.onCreateView(HistoryFragment.java:38)

我没有使用平方的okio!

你读过这个吗? https://futurestud.io/blog/retrofit-2-log-requests-and-responses

Retrofit 2完全依赖OkHttp进行任何网络操作。 由于OkHttp是Retrofit 2的对等依赖项,因此一旦将Retrofit 2作为稳定版本发布,您就不需要添加额外的依赖项。

OkHttp 2.6.0附带一个日志拦截器作为内部依赖,你可以直接将它用于你的Retrofit客户端。 Retrofit 2.0.0-beta2仍然使用OkHttp 2.5.0。 未来的版本将对更高的OkHttp版本产生依赖性。 这就是您需要手动导入日志记录拦截器的原因。 将以下行添加到build.gradle文件中的gradle导入,以获取日志记录拦截器依赖项。

编译'com.squareup.okhttp:logging-interceptor:2.6.0'

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM