Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How to add Gson extras to an Android project?

I am using gson parser (latest version -> 2.8.2).

I would like to use RuntimeTypeAdapterFactory which is part of the gson extras.

In my build.gradle there is currently a single compile directive:

compile 'com.google.code.gson:gson:2.8.2'

However this gives me only the gson lib without the extras (RuntimeTypeAdapterFactory is not recognized in the project...).

I have looked at gson extras' pom file (https://github.com/google/gson/blob/master/extras/pom.xml) and tried to add below line to my build gradle:

compile 'com.google.code.gson:gson-extras:2.8.2'

But gradle just won't compile the gson extras:

"Error:Failed to resolve: com.google.code.gson:gson-extras:2.8.2"

Any Idea how to make this work?

Thank you very much for your time and assistance in this matter.

like image 736
Maxim Rahlis Avatar asked Oct 29 '17 14:10

Maxim Rahlis


People also ask

What is the use of Gson in Android Studio?

On the other hand, GSON is a Java library that can be used to convert Java Objects into their JSON representation. It can also be used to convert a JSON string to an equivalent Java object. GSON can work with arbitrary Java objects including pre-existing objects that you do not have source code of.

What is com google Gson Gson?

com.google.gson. This package provides the Gson class to convert Json to Java and vice-versa. com.google.gson.annotations. This package provides annotations that can be used with Gson .

Is Gson open-source?

Gson (also known as Google Gson) is an open-source Java library to serialize and deserialize Java objects to (and from) JSON.


3 Answers

Error:Failed to resolve: com.google.code.gson:gson-extras:2.8.2

The extra package is not published in Maven.

You can check these issues:

  • https://github.com/google/gson/issues/1104
  • https://github.com/google/gson/issues/1123

As you can read this package is not published and the best way to use the classes inside is just to include source-code in your project.

like image 193
Gabriele Mariotti Avatar answered Oct 13 '22 18:10

Gabriele Mariotti


As mention in the maven page https://mvnrepository.com/artifact/com.google.code.gson/gson-extras/2.8.5!

you need to use the specified maven repo

Note: this artifact it located at CronApp repository (https://artifactory.cronapp.io/public-release/)

in gradle you can add custom repositories that way:

repositories {
    maven { url "https://artifactory.cronapp.io/public-release/" }
    mavenCentral()
}
like image 35
QuentinR Avatar answered Oct 13 '22 19:10

QuentinR


I'm actually maintaining a build of the vanilla gson-extras and publishing it in Maven Central. You can find it at: https://search.maven.org/artifact/org.danilopianini/gson-extras/

include it in Gradle by

implementation("org.danilopianini:gson-extras:0.2.1")
like image 30
Danilo Pianini Avatar answered Oct 13 '22 20:10

Danilo Pianini