NoSuchMethodError si estoy usando okhttp 2.0 y la última actualización?

No se pudo encontrar el método com.squareup.okhttp.OkHttpClient.open, referenciado desde el método retrofit.client.OkClient.openConnection.

Abajo está mi gradle config

compile 'com.squareup.okhttp:okhttp:+' compile 'com.squareup.okhttp:okhttp-urlconnection:+' compile 'com.squareup.retrofit:retrofit:+' 

Ok, square ha lanzado 2.0 RC2 en github, pero no en maven:

https://github.com/square/okhttp

Pero todavía necesitas okhttp-urlconnection (RC1 ahora mismo) que está solo en maven:

http://mvnrepository.com/artifact/com.squareup.okhttp

Y no olvide que okhttp 2.0 ahora depende de okio:

https://github.com/square/okio

La respuesta de Jake Wharton en google + podemos hacer así. Tiro el OkClient en retrofit.

 public class RetrofitHttpClient extends UrlConnectionClient { private static final int CONNECT_TIMEOUT_MILLIS = 60 * 1000; // 30s private static final int READ_TIMEOUT_MILLIS = 85 * 1000; // 45s private static OkUrlFactory generateDefaultOkUrlFactory() { OkHttpClient client = new com.squareup.okhttp.OkHttpClient(); client.setConnectTimeout(CONNECT_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); client.setReadTimeout(READ_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS); return new OkUrlFactory(client); } private final OkUrlFactory factory; public RetrofitHttpClient() { factory = generateDefaultOkUrlFactory(); } @Override protected HttpURLConnection openConnection(Request request) throws IOException { return factory.open(new URL(request.getUrl())); } } 

He probado este código. Funciona bien

Añadiendo

 compile 'com.squareup.okhttp:okhttp-urlconnection:1.6.0' compile 'com.squareup.retrofit:retrofit:+' 

A mi gradle me ayudó a borrar la excepción, pero todavía no podía cargar la imagen con https.

Después de algún rastro y método de error quité esto de mi gradle

 compile 'com.squareup.okhttp:okhttp:+' 

Entonces lo intenté funcionó para mí.

  • Retrofit 2.x: Cabecera de registro para la solicitud y la respuesta
  • Problemas al integrar el convertidor Simple XML en retrofit para Android
  • Retrofit 2.0 cómo imprimir la respuesta json completa?
  • Retrofit - Los parámetros de @Body no se pueden usar con codificación de formularios o multipartes
  • Retrofit2.0 obtiene MalformedJsonException mientras el json parece correcto?
  • Mapa json a objeto con retrofit (GSON)
  • Retrofit con Rxjava Schedulers.newThread () vs Schedulers.io ()
  • Utilice JsonReader.setLenient (true) para aceptar JSON malformado en la línea 1 de la columna 1 path $
  • Retrofit Se esperaba BEGIN_OBJECT pero era BEGIN_ARRAY
  • Observable.empty () hace que java.util.NoSuchElementException: Secuencia no contiene elementos
  • Manejo de errores personalizados con Retrofit cuando se ofusca usando proguard da java.lang.reflect.UndeclaredThrowableException
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.