l’usine de conversion de conversion ne peut pas accéder à GsonConverterFactory

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'