web-dev-qa-db-ja.com

改造コンバーター工場はGsonConverterFactoryにアクセスできません

これらの依存関係をプロジェクトに含めました。

'com.squareup.retrofit:retrofit:2.0.0-beta2'をコンパイルします
コンパイル「com.squareup.retrofit:converter-gson:2.0.0-beta1」

私はレトロフィット経由でAPIにアクセスするクラスがあります:

 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);
    }

そして今、それは私にこのコンパイル時エラーを与えます:

エラー:(24、17)エラー:クラスビルダーのメソッドaddConverterFactoryを特定の型に適用できません。必須:ファクトリーが見つかりました:GsonConverterFactory理由:実引数GsonConverterFactoryはメソッド呼び出し変換によってファクトリーに変換できません

どうすればこれを解決できますか?ドキュメントに従いました。なにが問題ですか?

52
AEMLoviji

後付けとconverter-gsonに同じバージョンを使用するようにしてください-2.0.0-beta2。レトロフィットにbeta2を、コンバーターにbeta1を使用しています。

implementation 'com.squareup.retrofit:retrofit:2.0.0-beta2'
implementation 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

重要な注意!

2.0.0-beta3バージョン以降、Retrofitはパッケージ名を変更します。ここで、com.squareup.retrofit2を使用する必要があります。以下に例を示します。

implementation 'com.squareup.retrofit2:retrofit:2.2.0'
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
139
Ilya Tretyakov

最新のベータ2.0.3リリースでは、以下を追加する必要があります。

compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'

レトロフィットライブラリのバージョンとgsonコンバーターのバージョンを必ず一致させてください。

3
Suraj

これは最新です:

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'

ベータ版を使用している場合:

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'
2
joe

次の代わりにbuild.gradle(アプリ)で:

implementation 'com.google.code.gson:gson:2.8.2'

書く:

implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
2
CoolMind
  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

このエラーが発生する場合、その理由は誤った依存関係が含まれていることです。

アプリケーションの依存関係を追加/変更build.gradleファイルとして

compile 'com.squareup.retrofit:retrofit:2.0.0-beta2'  
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'

コンバータのバージョンが2.0.0-beta2ではなく2.0.0-beta1であることを確認してください。

1
manoj