android - la fábrica de convertidores de retroadaptación no puede acceder a GsonConverterFactory
retrofit parameters (5)
He incluido estas dependencias en mi proyecto:
compile ''com.squareup.retrofit: retrofit: 2.0.0-beta2''
compile ''com.squareup.retrofit: converter-gson: 2.0.0-beta1''
Tengo una clase donde voy a acceder a mi API a través de la actualización:
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 el generador de clases no se puede aplicar a tipos dados; requerido: Fábrica encontrada: GsonConverterFactory razón: argumento real GsonConverterFactory no se puede convertir a Fábrica por conversión de invocación de método
¿Como puedo resolver esto? Seguí la documentación. ¿Qué está mal?
Con la última versión Beta 2.0.3 necesita agregar:
compile ''com.squareup.retrofit2:retrofit:2.0.0-beta3''
compile ''com.squareup.retrofit2:converter-gson:2.0.0-beta3''
Asegúrese de hacer coincidir la versión de la biblioteca de actualización con la versión del convertidor gson.
En
build.gradle
(aplicación) en lugar de:
implementation ''com.google.code.gson:gson:2.8.2''
escribir:
implementation ''com.squareup.retrofit2:converter-gson:2.3.0''
Esta es la última:
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 usa 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''
Intente utilizar la misma versión para retrofit y converter-gson -
2.0.0-beta2
.
Está utilizando
beta2
para retroadaptación y
beta1
para convertidor.
implementation ''com.squareup.retrofit:retrofit:2.0.0-beta2''
implementation ''com.squareup.retrofit:converter-gson:2.0.0-beta2''
¡Nota IMPORTANTE!
Retrofit cambia su nombre de paquete desde la versión
2.0.0-beta3
.
Ahora deberías usar
com.squareup.retrofit2
.
Aquí hay un ejemplo:
implementation ''com.squareup.retrofit2:retrofit:2.2.0''
implementation ''com.squareup.retrofit2:converter-gson:2.2.0''
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 recibe este error, se incluye la razón de la dependencia incorrecta.
Agregar / 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 sea
2.0.0-beta2
no
2.0.0-beta1
.