J’ai inclus ces dépendances dans mon projet:
comstack ‘com.squareup.retrofit: retrofit: 2.0.0-beta2′
comstack ‘com.squareup.retrofit: converter-gson: 2.0.0-beta1′
J’ai un cours où je vais accéder à mon API via la conversion:
public static S createService(Class serviceClass, Ssortingng 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 dans la classe Builder ne peut pas être appliquée à des types donnés; requirejs: Usine trouvée: GsonConverterFactory raison: l’argument réel GsonConverterFactory ne peut pas être converti en Factory par la conversion d’invocation de méthode
Comment puis-je resoudre ceci? J’ai suivi la documentation. Qu’est-ce qui ne va pas?
Essayez d’utiliser la même version pour la conversion et la conversion-gson – 2.0.0-beta2
. Vous utilisez beta2
pour la conversion 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 son nom de package depuis la version 2.0.0-beta3
. Vous devez maintenant utiliser com.squareup.retrofit2
. Voici l’exemple:
implementation 'com.squareup.retrofit2:retrofit:2.2.0' implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
Avec la dernière version de Beta 2.0.3, vous devez append:
comstack 'com.squareup.retrofit2:retrofit:2.0.0-beta3' comstack '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:
comstack 'com.squareup.retrofit2:retrofit:2.0.0' comstack 'com.squareup.retrofit2:converter-gson:2.0.0' comstack 'com.squareup.retrofit2:adapter-rxjava:2.0.0'
Si vous utilisez la version bêta:
comstack 'com.squareup.retrofit:retrofit:2.0.0-beta2' comstack 'com.squareup.retrofit:converter-gson:2.0.0-beta2' comstack 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2'
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 la dépendance incorrecte.
Ajouter / modifier la dépendance dans le fichier application build.gradle
en tant que
comstack 'com.squareup.retrofit:retrofit:2.0.0-beta2' comstack 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
Assurez-vous que la version du convertisseur est 2.0.0-beta2
non 2.0.0-beta1
.
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'