androidduplicatesdependenciesrepository

Android duplicate dependency / repository issue


I'm looking for a math parser. Found: gbenroscience/parserng-android

After adding the repository and dependency I suddenly have multiple dependency duplicate conflicts (part listed at end, too many to add!).

Setting grade file:

    pluginManagement {
    repositories {
        google {
            content {
                includeGroupByRegex("com\\.android.*")
                includeGroupByRegex("com\\.google.*")
                includeGroupByRegex("androidx.*")
            }
        }
        mavenCentral()
        gradlePluginPortal()
    }
}
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        maven {
            url = uri("https://jitpack.io")
        }
    }
}

Build grade file:

    plugins {
    alias(libs.plugins.android.application)
    alias(libs.plugins.google.gms.google.services)
}

android {
    namespace = "com.doctors_handbook.foundationdoctorshandbook"
    compileSdk = 35

    defaultConfig {
        applicationId = "com.doctors_handbook.foundationdoctorshandbook"
        minSdk = 24
        targetSdk = 35
        versionCode = 1
        versionName = "1.0"

        testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            isMinifyEnabled = false
            proguardFiles(
                getDefaultProguardFile("proguard-android-optimize.txt"),
                "proguard-rules.pro"
            )
        }
    }
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
    buildFeatures {
        viewBinding = true
    }
}

dependencies {


    implementation ("com.github.gbenroscience:parserng-android:0.1.1")
    implementation(libs.appcompat)
    implementation(libs.material)
    implementation(libs.activity)
    implementation(libs.constraintlayout)
    implementation(libs.navigation.fragment)
    implementation(libs.navigation.ui)
    implementation(libs.firebase.firestore)
    implementation(libs.firebase.database)
    implementation(libs.ads.mobile.sdk)
    testImplementation(libs.junit)
    androidTestImplementation(libs.ext.junit)
    androidTestImplementation(libs.espresso.core)
    implementation("com.github.mhiew:android-pdf-viewer:3.2.0-beta.3")
    implementation ("androidx.recyclerview:recyclerview:1.1.0")
    implementation ("androidx.room:room-runtime:2.6.1")
    annotationProcessor ("androidx.room:room-compiler:2.6.1")


}

After looking at various similar questions posed, can not make head nor tail and I have no idea how to remedy this, the documentation link provides no clear answers that I understand

I would greatly appreciate if anyone could walk me through this.

Duplicate class com.google.gson.ExclusionStrategy found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldAttributes found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy$2 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy$3 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy$4 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy$5 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingPolicy$6 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.FieldNamingStrategy found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson$2 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson$3 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson$4 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson$5 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.Gson$FutureTypeAdapter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.GsonBuilder found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.InstanceCreator found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonArray found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonDeserializationContext found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonDeserializer found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonElement found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonIOException found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonNull found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonObject found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonParseException found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonParser found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonPrimitive found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonSerializationContext found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonSerializer found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonStreamParser found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.JsonSyntaxException found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.LongSerializationPolicy found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.LongSerializationPolicy$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.LongSerializationPolicy$2 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.TypeAdapter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.TypeAdapter$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.TypeAdapterFactory found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.annotations.Expose found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.annotations.JsonAdapter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.annotations.SerializedName found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.annotations.Since found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.annotations.Until found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.$Gson$Preconditions found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.$Gson$Types found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.$Gson$Types$GenericArrayTypeImpl found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.$Gson$Types$ParameterizedTypeImpl found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.$Gson$Types$WildcardTypeImpl found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$10 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$11 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$12 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$13 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$14 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$2 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$3 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$4 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$5 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$6 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$7 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$8 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ConstructorConstructor$9 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.Excluder found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.Excluder$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.GsonBuildConfig found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.JavaVersion found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.JsonReaderInternalAccess found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LazilyParsedNumber found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$EntrySet found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$EntrySet$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$KeySet found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$KeySet$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$LinkedTreeMapIterator found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.LinkedTreeMap$Node found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.ObjectConstructor found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.PreJava9DateFormatProvider found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.Primitives found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.Streams found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.Streams$AppendableWriter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.Streams$AppendableWriter$CurrentWrite found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.UnsafeAllocator found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.UnsafeAllocator$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.UnsafeAllocator$2 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.UnsafeAllocator$3 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.UnsafeAllocator$4 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.ArrayTypeAdapter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.ArrayTypeAdapter$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.CollectionTypeAdapterFactory found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.DateTypeAdapter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.DateTypeAdapter$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.JsonAdapterAnnotationTypeAdapterFactory found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.JsonTreeReader found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.JsonTreeReader$1 found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)
Duplicate class com.google.gson.internal.bind.JsonTreeWriter found in modules gson-2.10.1.jar -> gson-2.10.1 (com.google.code.gson:gson:2.10.1) and parserng-android-0.1.1.aar -> parserng-android-0.1.1-runtime (com.github.gbenroscience:parserng-android:0.1.1)

Solution

  • Dependencies in Gralde is handled by in org.gradle.api.artifacts.dsl.DependencyHandler.

    Gradle is implemented in Groovy. Groovy is dynamically typed language. But Groovy-DSL can handle ambiguities between different parameters because of single layer.

    In Kotlin-DSL, Groovy layer is wrapped by Kotlin. Kotlin is also a dynamic language & can handle parameters dynamically. But it adds another dynamic layer which adds another layer of ambiguity to the Gradle compiler.

    This is the source code of Kotlin-DSL

    public fun DependencyHandler.implementation(dependencyNotation: kotlin.Any): Dependency? { /* code */ }
    
    public fun DependencyHandler.implementation(
        dependencyNotation: String?, 
        dependencyConfiguration: Action<ExternalModuleDependency>
    ): ExternalModuleDependency { /* code */ }
    

    Kotlin-DSL supposed to call first function but it calls second function. And just adding a seconds pair of parenthesis solve our problem.

    So here's the solution.

    implementation (("com.github.gbenroscience:parserng-android:0.1.1"))
    

    Now it also resolves import com.itis.libs.parserng.android.expressParser.MathExpression;

    Another obvious solution is to add library to catalog.