Android 改装2个调用失败-抽象方法“;void okhttp3.Callback.onResponse;
我已在我的项目中导入改装,并将以下内容添加到app.gradle:Android 改装2个调用失败-抽象方法“;void okhttp3.Callback.onResponse;,android,retrofit,retrofit2,logan-square,Android,Retrofit,Retrofit2,Logan Square,我已在我的项目中导入改装,并将以下内容添加到app.gradle: compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3' 但现在,当execute调用时,应用程序崩溃,出现以下错误: FATAL EXCEPTION: OkHttp Dispatcher Process: com.my.app, PID: 31176 java.lang.AbstractMethodError: abstract method "void ok
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
但现在,当execute调用时,应用程序崩溃,出现以下错误:
FATAL EXCEPTION: OkHttp Dispatcher
Process: com.my.app, PID: 31176
java.lang.AbstractMethodError: abstract method "void okhttp3.Callback.onResponse(okhttp3.Call, okhttp3.Response)"
at okhttp3.RealCall$AsyncCall.execute(RealCall.java:133)
at okhttp3.internal.NamedRunnable.run(NamedRunnable.java:33)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
at java.lang.Thread.run(Thread.java:818)
我需要导入特定版本的改型(2.0.0,BETA3),否则我会考虑使用以前版本的改型。如何解决此问题?
问题在于,改装需要某些版本的OkHttp库。不仅如此,若您导入日志拦截器,还需要确保正确的版本。因此,在我的案例中,这有助于:compile 'com.squareup.okhttp3:okhttp:3.0.0-RC1'
compile 'com.squareup.okhttp3:logging-interceptor:3.0.0-RC1'
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
这在上有很好的记录,因此不容易找到
那些抱怨java.lang.AbstractMethodError:AbstractMethod“void okhttp3.Callback.onFailure(okhttp3.Call,java.io.IOException)”
的人说,如果不使用日志拦截器,您可以完全删除okhttp3的导入
对于使用的用户,您还需要:
apt 'com.bluelinelabs:logansquare-compiler:1.3.4'
compile 'com.bluelinelabs:logansquare:1.3.4'
compile 'com.github.aurae.retrofit2:converter-logansquare:1.2.