2016-02-04 4 views
3

J'ai importé Rénovation dans mon projet en ajoutant à la suite app.gradle:Rénovation 2 appels échouent - méthode abstraite « okhttp3.Callback.onResponse vide »

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3' 

Mais maintenant quand exécuter les appels application se bloque avec l'erreur suivante :

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) 

Je dois importer la version spécifique de Rénovation (2.0.0-beta3) en raison de LoganSquare JSON parser sinon j'utiliser des versions précédentes de Rénovation. Comment résoudre ce problème?

Répondre

2

Le problème est que Retrofit nécessite certaines versions de la bibliothèque OkHttp. Et non seulement cela, mais si vous importez l'intercepteur de consignation, vous devez également vous assurer de la bonne version. Donc, dans mon cas cela a contribué:

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' 

Ceci est bien documenté sur le GitHub issue page that's closed, et est donc pas facile à trouver.

Ceux qui se plaignent de java.lang.AbstractMethodError: abstract method "void okhttp3.Callback.onFailure(okhttp3.Call, java.io.IOException)" disent que vous pouvez supprimer complètement l'importation de okhttp3 si vous n'utilisez pas l'intercepteur de consignation.

Pour ceux qui utilisent LoganSquare, vous avez également besoin:

apt 'com.bluelinelabs:logansquare-compiler:1.3.4' 
compile 'com.bluelinelabs:logansquare:1.3.4' 
compile 'com.github.aurae.retrofit2:converter-logansquare:1.2.