J'ai inclus ces dépendances à mon projet:
compile 'com.squareup.retrofit: amélioration: 2.0.0-beta2'
compiler 'com.squareup.retrofit: converter-gson: 2.0.0-beta1'
J'ai une classe où je vais accéder à mes api via le rattrapage:
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);
}
Et maintenant, cela me donne cette erreur de compilation:
Erreur: (24, 17) erreur: la méthode addConverterFactory de la classe Builder ne peut pas être appliquée à des types donnés. required: trouvé en usine: GsonConverterFactory raison: l'argument actuel GsonConverterFactory ne peut pas être converti en Factory par la conversion d'invocation de méthode
Comment puis-je résoudre ça? J'ai suivi la documentation. Qu'est-ce qui ne va pas?
Essayez d’utiliser la même version pour retrofit et converter-gson - 2.0.0-beta2
. Vous utilisez beta2
pour rénovation et beta1
pour le convertisseur.
implementation 'com.squareup.retrofit:retrofit:2.0.0-beta2'
implementation 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
note importante!
Retrofit change le nom de son package depuis 2.0.0-beta3
version. Maintenant, vous devriez utiliser com.squareup.retrofit2
. Voici un exemple:
implementation 'com.squareup.retrofit2:retrofit:2.2.0'
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
Avec la dernière version bêta 2.0.3, vous devez ajouter:
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
Assurez-vous de faire correspondre la version de la bibliothèque de conversion avec la version du convertisseur gson.
C'est le dernier en date:
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 vous utilisez la version bêta:
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'
Dans build.gradle
_ (app) au lieu de:
implementation 'com.google.code.gson:gson:2.8.2'
écrire:
implementation 'com.squareup.retrofit2:converter-gson:2.3.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 vous obtenez cette erreur, la raison en est une dépendance erronée.
Ajouter/modifier la dépendance dans le fichier de l’application build.gradle
En tant que
compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
assurez-vous que la version du convertisseur est 2.0.0-beta2
et non 2.0.0-beta1
.