Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/180.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 改装2个调用失败-抽象方法“;void okhttp3.Callback.onResponse;_Android_Retrofit_Retrofit2_Logan Square - Fatal编程技术网

Android 改装2个调用失败-抽象方法“;void okhttp3.Callback.onResponse;

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

我已在我的项目中导入改装,并将以下内容添加到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 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.