我已将这些依赖项包含在我的项目中:
compile' 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)错误:类Builder中的方法addConverterFactory 不能适用于给定的类型;要求:工厂发现: GsonConverterFactory原因:实际参数GsonConverterFactory 无法通过方法调用转换转换为Factory
我该如何解决这个问题?我按照文档。怎么了?
答案 0 :(得分:134)
尝试使用相同的版本进行改造和转换器-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
版本开始,改装其包名称。现在你应该使用com.squareup.retrofit2
。这是一个例子:
implementation 'com.squareup.retrofit2:retrofit:2.2.0'
implementation 'com.squareup.retrofit2:converter-gson:2.2.0'
答案 1 :(得分:3)
使用最新的Beta 2.0.3版本,您需要添加:
compile 'com.squareup.retrofit2:retrofit:2.0.0-beta3'
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta3'
确保将改装库版本与gson转换器版本相匹配。
答案 2 :(得分:2)
这是最新的:
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'
答案 3 :(得分:2)
在build.gradle
(app)中代替:
implementation 'com.google.code.gson:gson:2.8.2'
写:
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'
答案 4 :(得分:1)
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
。