これらの依存関係をプロジェクトに含めました。
'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はメソッド呼び出し変換によってファクトリーに変換できません
どうすればこれを解決できますか?ドキュメントに従いました。なにが問題ですか?
後付けと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'
最新のベータ2.0.3リリースでは、以下を追加する必要があります。
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
レトロフィットライブラリのバージョンとgsonコンバーターのバージョンを必ず一致させてください。
これは最新です:
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'
次の代わりにbuild.gradle
(アプリ)で:
implementation 'com.google.code.gson:gson:2.8.2'
書く:
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
このエラーが発生する場合、その理由は誤った依存関係が含まれていることです。
アプリケーションの依存関係を追加/変更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
であることを確認してください。