RxJavaCallAdapterFactory не может быть преобразован в Factory
Я пытаюсь использовать Retrofit 2 и RxJava после руководства в этом
https://inthecheesefactory.com/blog/retrofit-2.0/en
В разделе "Интеграция RxJava с CallAdapter" объясняет, как использовать RxJava с модификацией
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("http://api.nuuneoi.com/base/")
.addConverterFactory(GsonConverterFactory.create())
.addCallAdapterFactory(RxJavaCallAdapterFactory.create())
.build();
Однако во время компиляции возникает следующая ошибка:
Error:(63, 71) error: incompatible types: RxJavaCallAdapterFactory cannot be converted to Factory
Как я могу это исправить?
Благодаря
Ответы
Ответ 1
Убедитесь, что вы используете один и тот же идентификатор группы и версию для основной зависимости от перенастройки, зависимости от конвертора Gson и зависимости от адаптера RxJava.
Я предполагаю, что ваш выглядит примерно так:
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.squareup.retrofit:adapter-rxjava:2.0.0-beta2'
(Обратите внимание, что они используют разные номера групп и номера версий)
Они должны выглядеть одинаково:
compile 'com.squareup.retrofit2:retrofit:2.0.2'
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.2'
Ответ 2
В настоящее время добавление "com.squareup.retrofit: adapter-rxjava: 2.0.0" дает следующую ошибку
Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/rxjava.properties
Но вместо этого добавление компиляции com.jakewharton.retrofit: retrofit2-rxjava2-adapter: 1.0.0 "делает успешную упаковку