Retrofit 2 example tutorial but GsonConverterFactory display error "Cannot resolve symbol"
Solution 1
EDIT
retrofit 2 is now stable. Use
compile 'com.squareup.retrofit2:retrofit:2.3.0'
compile 'com.squareup.retrofit2:converter-gson:2.3.0'
in your build.gradle
dependency section
old answer
with Retrofit 2.0 you have to declare in your build.gradle the convert factory you want to use. Add
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
to your gradle and sync it again
Solution 2
From another article on that site
Retrofit 2 doesn’t ship with Gson by default. Before, you didn’t need to worry about any integrated converter and you could use Gson out of the box. This library change affects your app and you need to import a converter as a sibling package as well. We’ll touch the converter later within this post and show you how to config the Gson or any other response converter for your app.
Thus, add this to your build.gradle
dependencies {
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
}
Solution 3
New version is now available
compile 'com.squareup.retrofit2:retrofit:2.1.0'
compile 'com.squareup.retrofit2:converter-gson:2.1.0'
Solution 4
The reason to such behavior in my case was typo in build.gradle
dependency.
After beta4
release I've updated from:
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta2'
to
compile 'com.squareup.retrofit:converter-gson:2.0.0-beta4'
and the right dependency was
compile 'com.squareup.retrofit2:converter-gson:2.0.0-beta4'
Also worth notice, that beta4 - retrofit won't work with beta2 - gson!
Solution 5
As Updated Retrofit Library with New Version
With
compile 'com.squareup.retrofit2:retrofit:2.0.2'
You must have to include dependency of:
compile 'com.squareup.retrofit2:converter-gson:2.0.2'
StackOverflower
Updated on July 19, 2022Comments
-
StackOverflower almost 2 years
I'm trying to follow Retrofit's 2 tutorial, but on this part of the code there is a
GsonConverterFactory
that displays errorCannot resolve symbol
:public class ServiceGenerator { public static final String API_BASE_URL = "http://your.api-base.url"; private static OkHttpClient httpClient = new OkHttpClient(); private static Retrofit.Builder builder = new Retrofit.Builder() .baseUrl(API_BASE_URL) //THIS IS THE LINE WITH ERROR!!!!!!!!!!!! .addConverterFactory(GsonConverterFactory.create()); public static <S> S createService(Class<S> serviceClass) { Retrofit retrofit = builder.client(httpClient).build(); return retrofit.create(serviceClass); } }
Previously I added in my gradle.build, I'm not sure if I should add GSON since they say Retrofit 1.9 has it but nothing is mentioned about Retrofit 2:
dependencies { // Retrofit & OkHttp compile 'com.squareup.retrofit:retrofit:2.0.0-beta2' }
-
StackOverflower over 8 yearshi thanks I can't upvote you since it seems I don't have enough rep but your answer also helped