Unable to create call adapter for io.reactivex.Observable

I ran into the same issue. Instead of adding new repositories you can add the dependency of Jake Wharton's library:

implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'

Then you can add factory:

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl("https://api.example.com")
    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
    .build();

The fact that adapter has version 2.. does not mean that it is intended for use with RxJava 2, as I thought.

implementation 'com.squareup.retrofit2:adapter-rxjava2:2.1.0'

You need to tell Retrofit that you want to use RxJava 2, using:

addCallAdapterFactory(RxJava2CallAdapterFactory.create())

So, for creating your Retrofit object, you will have something like:

Retrofit retrofit = new Retrofit.Builder()
    .baseUrl(SERVICE_ENDPOINT)
    .addCallAdapterFactory(RxJava2CallAdapterFactory.create())
    .build();