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
- Adaptar la matriz de objetos a GSON Error
- Retrofit 2.0 + RxJava + Error JSON cuerpo
- Uso de Mockito con Retrofit 2.0
- GSON ignorar elementos con tipo incorrecto
- Retrofit / Rxjava y servicios basados en sesiones
compile 'com.squareup.okhttp:okhttp:+' compile 'com.squareup.okhttp:okhttp-urlconnection:+' compile 'com.squareup.retrofit:retrofit:+'
- ¿Cómo hacer una solicitud de POST utilizando retrofit 2?
- ¿Cómo aumentar el tiempo de espera para las solicitudes de reacondicionamiento en robospice android?
- Retrofit POST con nombres de parámetros de cuerpo personalizados
- Desbordamiento de pila al utilizar Retrofit rxjava concatWith
- ProGuard no funciona con okhttp
- EOFException en Retrofit al ejecutar peticiones PUT síncronas
- Autentificación JWT de la firma de la firma del decodin del error
- Retrofit + OkHttp + GZIP-ed JSON
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:
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í.
- Cambiar el nombre del paquete de una aplicación Android actualizada
- No puedo dividir dos números correctamente