I use RoboSpice-Retrofit to call my REST api server, which worked without problems until a few days ago, when every call now throws an exception. Example:
D/Retrofit: java.lang.NoSuchMethodError: No direct method <init>(Lcom/squareup/okhttp/OkHttpClient;Lcom/squareup/okhttp/Request;ZZZLcom/squareup/okhttp/Connection;Lcom/squareup/okhttp/internal/http/RouteSelector;Lcom/squareup/okhttp/internal/http/RetryableSink;Lcom/squareup/okhttp/Response;)V in class Lcom/squareup/okhttp/internal/http/HttpEngine; or its super classes (declaration of 'com.squareup.okhttp.internal.http.HttpEngine' appears in /data/app/com.company.app.customerapp-1/base.apk) at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.newHttpEngine(HttpURLConnectionImpl.java:362) at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.initHttpEngine(HttpURLConnectionImpl.java:312) at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:377) at com.squareup.okhttp.internal.huc.HttpURLConnectionImpl.getResponseCode(HttpURLConnectionImpl.java:497) at retrofit.client.UrlConnectionClient.readResponse(UrlConnectionClient.java:73) at retrofit.client.UrlConnectionClient.execute(UrlConnectionClient.java:38) at retrofit.RestAdapter$RestHandler.invokeRequest(RestAdapter.java:321) at retrofit.RestAdapter$RestHandler.invoke(RestAdapter.java:240) at java.lang.reflect.Proxy.invoke(Proxy.java:393) at $Proxy0.getTest(Unknown Source) at com.adoperator.tidyapp.TestActivity$TestRequest.loadDataFromNetwork(TestActivity.java:67) at com.adoperator.tidyapp.TestActivity$TestRequest.loadDataFromNetwork(TestActivity.java:54) at com.octo.android.robospice.request.CachedSpiceRequest.loadDataFromNetwork(CachedSpiceRequest.java:48) at com.octo.android.robospice.request.DefaultRequestRunner.processRequest(DefaultRequestRunner.java:150) at com.octo.android.robospice.request.DefaultRequestRunner$1.run(DefaultRequestRunner.java:217) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:423) at java.util.concurrent.FutureTask.run(FutureTask.java:237) 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/Retrofit: ---- END ERROR
dependencies:
compile 'com.octo.android.robospice:robospice:1.4.14' compile 'com.octo.android.robospice:robospice-cache:1.4.14' compile 'com.octo.android.robospice:robospice-retrofit:1.4.14'
I suspect, based on the exception, that something is wrong with the compiler, but I just tested it on another computer with a fresh install of Java and Android Studio in the same project, but still there were problems ...
This mistake is driving me crazy ...
Does anyone know anything that might help? Any help is appreciated.
EDIT
MainActivity.java:
SpiceManager spiceManager = new SpiceManager(TestAPIService.class); protected void onStart() { super.onStart(); spiceManager.start(this); spiceManager.execute(new TestRequest(), new RequestListener<ResponseData>() { ... }); }
TestAPIService.java:
public class TestAPIService extends RetrofitGsonSpiceService { @Override public void onCreate() { super.onCreate(); addRetrofitInterface(TestAPI.class); } @Override protected String getServerUrl() { return "http://192.168.0.2"; } }
TestAPI.java:
public interface TestAPI { @GET("/test") ResponseData getTest(); }
TestRequest.java:
public class TestRequest extends RetrofitSpiceRequest<ResponseData, TestAPI> { public TestRequest() { super(ResponseData.class, TestAPI.class); } @Override public ResponseData loadDataFromNetwork() throws Exception { ResponseData response; try { response = getService().getTest(); } catch (Exception e) { e.printStackTrace(); throw e; } return response; } }
source share