Hello
I'm trying to use Java SDK in an Android Studio Kotlin project, but I get duplicated classes when I run it.
These are the errors:
Execution failed for task ':app:checkDebugDuplicateClasses'
A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
Duplicate class javax.activation.ActivationDataFlavor found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.CommandInfo found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.CommandInfo$Beans found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.CommandInfo$Beans$1 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.CommandMap found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.CommandObject found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataContentHandler found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataContentHandlerFactory found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataHandler found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataHandler$1 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataHandlerDataSource found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataSource found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.DataSourceDataContentHandler found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.FileDataSource found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.FileTypeMap found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MailcapCommandMap found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MailcapCommandMap$1 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MimeType found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MimeTypeParameterList found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MimeTypeParseException found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MimetypesFileTypeMap found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.MimetypesFileTypeMap$1 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.ObjectDataContentHandler found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.SecuritySupport found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.SecuritySupport$1 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.SecuritySupport$2 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.SecuritySupport$3 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.SecuritySupport$4 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
Duplicate class javax.activation.SecuritySupport$5 found in the following modules: jetified-jakarta.activation-1.2 (com.sun.activation:jakarta.activation:1.2.2), jetified-jakarta.activation-api-1.2 (jakarta.activation:jakarta.activation-api:1.2.2) and jetified-javax.activation-api-1.2.0 (javax.activation:javax.activation-api:1.2.0)
(...)
build.gradle.tks**
plugins {
alias(libs.plugins.androidApplication)
alias(libs.plugins.jetbrainsKotlinAndroid)
}
android {
namespace = "com.example.gbank"
compileSdk = 34
defaultConfig {
applicationId = "com.example.gbank"
minSdk = 24
targetSdk = 34
versionCode = 1
versionName = "1.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
vectorDrawables {
useSupportLibrary = true
}
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_1_8
targetCompatibility = JavaVersion.VERSION_1_8
}
kotlinOptions {
jvmTarget = "1.8"
}
buildFeatures {
compose = true
viewBinding = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.1"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
excludes += "META-INF/LICENSE.md"
excludes += "META-INF/NOTICE.md"
excludes += "META-INF/DEPENDENCIES"
excludes += "javax/xml/bind/Messages.properties"
excludes += "javax/xml/bind"
excludes += "javax/xml/bind/util/Messages.properties"
excludes += "javax/xml/bind/helpers/Messages.properties"
excludes += "/META-INF/DEPENDENCIES"
excludes += "META-INF/DEPENDENCIES"
excludes += "META-INF/LICENSE"
excludes += "META-INF/LICENSE.txt"
excludes += "META-INF/license.txt"
excludes += "META-INF/NOTICE.txt"
excludes += "META-INF/notice.txt"
excludes += "META-INF/ASL2.0"
excludes += "META-INF/.kotlin_module"
excludes += "META-INF/LICENSE.md"
excludes += "META-INF/NOTICE.md"
excludes += "META-INF/io.netty.versions.properties"
excludes += "META-INF/"
}
}
viewBinding{
enable=true
}
}
dependencies {
implementation("aws.sdk.kotlin:s3:1.0.0")
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.material)
implementation(libs.androidx.activity)
implementation(libs.androidx.constraintlayout)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.navigation.fragment.ktx)
implementation(libs.androidx.navigation.ui.ktx)
implementation(libs.play.services.location)
testImplementation(libs.junit)
androidTestImplementation(libs.androidx.junit)
androidTestImplementation(libs.androidx.espresso.core)
androidTestImplementation(platform(libs.androidx.compose.bom))
androidTestImplementation(libs.androidx.ui.test.junit4)
debugImplementation(libs.androidx.ui.tooling)
debugImplementation(libs.androidx.ui.test.manifest)
implementation ("com.genesys.cloud:core:1.9.0")
implementation ("com.genesys.cloud:chatintegration:1.9.0")
implementation ("com.genesys.cloud:ui:1.9.0")
implementation("com.google.android.gms:play-services-location:21.2.0")
implementation ("com.mypurecloud:platform-client-v2:206.0.0")
**********settings.gradle
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://genesysdx.jfrog.io/artifactory/genesys-cloud-android.prod/") }
}
}
rootProject.name = "GBank"
include(":app")
I added the excludes += instrucctions because I had some errors like this: DuplicateRelativeFileException: 2 files found with path 'XXXXXXXXXXXXX' from inputs:
According to Genesys documentation it's supported the sdk within Android, there is nothing about Kotlin, but since kotlin full support java modules, I was wondering why I can't compile the app.
Thanks.