Retrofit-java.lang.NoSuchMethodError: No virtual method log

来源:互联网 发布:java 弱引用list 编辑:程序博客网 时间:2024/05/21 11:21

最近再研究retrofit2.0框架,在使用OkHttp中的interceptor来实现实际的底层的请求和响应日志遇到以下错误:

E/AndroidRuntime: FATAL EXCEPTION: OkHttp Dispatcher

                  Process: com.nino.retrofit, PID: 1095
                  java.lang.NoSuchMethodError: No virtual method log(Ljava/lang/String;)V in class Lokhttp3/internal/Platform; or its super classes (declaration of 'okhttp3.internal.Platform' appears in /data/app/com.nino.retrofit-1/base.apk)
                      at okhttp3.logging.HttpLoggingInterceptor$Logger$1.log(HttpLoggingInterceptor.java:109)
                      at okhttp3.logging.HttpLoggingInterceptor.intercept(HttpLoggingInterceptor.java:157)
                      at okhttp3.RealCall$ApplicationInterceptorChain.proceed(RealCall.java:190)
                      at okhttp3.RealCall.getResponseWithInterceptorChain(RealCall.java:163)
                      at okhttp3.RealCall.access$100(RealCall.java:30)
                      at okhttp3.RealCall$AsyncCall.execute(RealCall.java:127)
                      at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:32)
                      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
                      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
                      at java.lang.Thread.run(Thread.java:818)

D/OpenGLRenderer: endAllStagingAnimators on 0xa9997980 (RippleDrawable) with handle 0xadecf080

解决方法

在检查代码确定无误后,发现三个依赖包的版本不一致,把retrofit依赖包改为2.0.1后,问题迎刃而解。

    /*retrofit依赖库*/
    compile 'com.squareup.retrofit2:retrofit:2.1.0'

    /*添加Retrofit对gsonfotmat的支持*/    

    compile 'com.squareup.retrofit2:converter-gson:2.0.1'

    /*添加Retrofit对Rxjava的支持*/
    compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'

修改如下:

    /*retrofit依赖库*/
    compile 'com.squareup.retrofit2:retrofit:2.0.1'


1 0
原创粉丝点击