La fábrica del convertidor de retroadaptación no puede acceder a GsonConverterFactory
He incluido estas dependencias en mi proyecto:
Compilar 'com.squareup.retrofit: retrofit: 2.0.0-beta2'
Compilar 'com.squareup.retrofit: converter-gson: 2.0.0-beta1'
Tengo una clase en la que voy a acceder a mi api a través de retrofit:
public static <S> S createService(Class<S> serviceClass, String baseUrl) { Retrofit builder = new Retrofit.Builder() .baseUrl(baseUrl) .addConverterFactory(GsonConverterFactory.create()) .build(); RestAdapter adapter = builder.build();*/ return builder.create(serviceClass); }
Y ahora, me da este error de tiempo de compilación:
Error: (24, 17) error: el método addConverterFactory en la clase Builder no se puede aplicar a tipos dados; Requerido: Fábrica encontrada: GsonConverterFactory razón: argumento real GsonConverterFactory no puede convertirse a Factory by method invocation conversion
¿Como puedo resolver esto? Seguí la documentación. ¿Qué está mal?
- Excepción de interrupción de subproceso en modo Multi-ventana
- No se puede crear un conversor para mi clase en Android Retrofit library
- Android / RxJava Cómo encadenar las solicitudes de red y volver a intentarlo cuando falla
- Cargue archivos en el cubo AWS S3 usando OkHttp o Retrofit
- Retrofit, devolución de llamada para 204 No respuesta de contenido?
- Retrofit 2 (en Android) después de la implementación, ¿Dónde están mis elementos JSON?
- ¿Cómo puedo hacer peticiones simultáneas más rápido con Retrofit / OkHttp?
- Android: Sondeo de un servidor con Retrofit
Trate de usar la misma versión para retrofit y convertidor-gson – 2.0.0-beta2
. Está utilizando beta2
para la actualización y beta1
para el convertidor.
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
¡Nota IMPORTANTE!
Retrofit cambia el nombre del paquete desde la versión 2.0.0-beta3
. Ahora debe usar com.squareup.retrofit2
. He aquí un ejemplo:
compile 'com.squareup.retrofit2:retrofit:2.2.0' compile 'com.squareup.retrofit2:converter-gson:2.2.0'
Con la última versión de Beta 2.0.3 debes agregar:
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3' compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
Asegúrese de que coincida con la versión de la biblioteca de reacondicionamiento con la versión del convertidor de gson.
error: method addConverterFactory in class Builder cannot be applied to given types; required: Factory found: GsonConverterFactory reason: actual argument GsonConverterFactory cannot be converted to Factory by method invocation conversion
Si usted está recibiendo este error, la razón es la dependencia incorrecta incluida.
Añadir / cambiar dependencia en el archivo build.gradle
aplicación como
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
Asegúrese de que la versión del convertidor es 2.0.0-beta2
no 2.0.0-beta1
.
Este es el último:
compile 'com.squareup.retrofit2:retrofit:2.0.0' compile 'com.squareup.retrofit2:converter-gson:2.0.0' compile 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
Si utiliza la versión beta:
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2' compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2'