2015-12-16 6 views
5

Retrofit 2、okhttp、okhttp:logging-interceptorでプロジェクトを作成しました。ここでHttpLoggingInterceptorでのアプリケーションクラッシュ

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) 

私はsquareupでokio使用していませんよ!

答えて

4

これはお使いになりましたか? https://futurestud.io/blog/retrofit-2-log-requests-and-responses

レトロフィット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:ログ・インターセプター:2.6.0':/

+1

問題は2.5.0にダウングレードした後、OkHttpのバージョンとあったが – Drake

+0

細かいPlsのは、HTTPで私の答えを参照してください動作しますヘルプがあれば/stackoverflow.com/a/39601180/1145905 – kip2

関連する問題