Android - API接口使用协程+Retrofit出现以下错误:
Unable to create call adapter for xxx for method xxx
或者:
Could not locate call adapter for xxx.
Tried:
* retrofit2.adapter.rxjava3.RxJava3CallAdapterFactory
* retrofit2.CompletableFutureCallAdapterFactory
* retrofit2.DefaultCallAdapterFactory
这种错误可能有两个原因导致的:
1、Retrofit 版本在 2.6.0 以下,升级试试。
api 'com.squareup.retrofit2:retrofit:2.9.0'
api 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
api 'com.squareup.retrofit2:converter-gson:2.9.0'
api 'com.squareup.retrofit2:converter-scalars:2.9.0'
2、Api 接口类中的函数没有使用 suspend
关键字修饰。
@JvmSuppressWildcards
@GET("/api/...../.../..")
suspend fun getXXX(@QueryMap params: Map<String, Any>): ResponseBean<T>