programing

Kotlin Android에서 중복되는 클래스

bestprogram 2023. 9. 9. 09:48

Kotlin Android에서 중복되는 클래스

Image Example

수업에 중복 오류가 있다는 오류가 계속 발생했습니다.이것이 내가 가지고 있는 기관 제트브레인입니다.kotlin 폴더.idea/design

문제는 kotlin에 stdlib과 stdlibjdk8의 두 개의 서로 다른 의존성이 있기 때문인 것 같은데 모듈/프로젝트 의존성에서 둘 중 하나를 제거하는 방법을 모르겠습니다.도와주세요 :(

전체 오류 코드는 다음과 같습니다.

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.internal.jdk7.JDK7PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.internal.jdk8.JDK8PlatformImplementations found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.io.path.ExperimentalPathApi found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.io.path.PathRelativizer found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.io.path.PathsKt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.io.path.PathsKt__PathReadWriteKt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.io.path.PathsKt__PathUtilsKt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.jdk7.AutoCloseableKt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk7-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0)
Duplicate class kotlin.jvm.jdk8.JvmRepeatableKt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.random.jdk8.PlatformThreadLocalRandom found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.streams.jdk8.StreamsKt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$1 found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$2 found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$3 found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.streams.jdk8.StreamsKt$asSequence$$inlined$Sequence$4 found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.text.jdk8.RegexExtensionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)
Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.0 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.0)

org.jetbrain에서 파일을 삭제하려고 했습니다.코틀린 하지만 안드로이드 스튜디오에서 앱을 만들 때마다 파일이 다시 다운로드 될 것입니다.

이것은 나의 모듈 앱 그라들 코드입니다.


plugins {
    id 'com.android.application'
    id 'com.google.gms.google-services'
}

android {
    compileSdk 33

    defaultConfig {
        applicationId "com.example.umfs"
        minSdk 21
        targetSdk 32
        versionCode 1
        versionName "1.0"

        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    buildFeatures {
        viewBinding true
    }

    namespace 'com.example.umfs'
}

dependencies {


    implementation 'androidx.appcompat:appcompat:1.5.1'
    implementation 'com.google.android.material:material:1.7.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
    implementation 'com.google.firebase:firebase-database:20.1.0'
    implementation 'androidx.preference:preference:1.2.0'
    implementation 'com.google.firebase:firebase-auth:21.1.0'
    implementation 'com.google.firebase:firebase-core:21.1.1'
    implementation 'androidx.navigation:navigation-fragment:2.5.3'
    implementation 'androidx.navigation:navigation-ui:2.5.3'
    implementation 'com.google.firebase:firebase-firestore:24.4.1'
    implementation 'androidx.recyclerview:recyclerview:1.2.1'
    testImplementation 'junit:junit:4.13.2'
    androidTestImplementation 'androidx.test.ext:junit:1.1.4'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.5.0'
    implementation 'de.hdodenhof:circleimageview:3.1.0'
    implementation "androidx.cardview:cardview:1.0.0"
    implementation 'com.google.firebase:firebase-firestore:24.4.1'
    implementation 'com.google.firebase:firebase-storage:20.1.0'
    implementation 'com.google.firebase:firebase-database'
    implementation platform('com.google.firebase:firebase-bom:28.4.0')
    implementation 'com.squareup.picasso:picasso:2.71828'
    implementation 'com.makeramen:roundedimageview:2.3.0'
    implementation 'com.github.bumptech.glide:glide:4.14.2'
    implementation 'com.github.marlonlom:timeago:4.0.3'
    implementation "androidx.core:core-ktx:+"

}

apply plugin: 'com.google.gms.google-services'

간단하게. 저는 이 그라들 플러그인을 1.7.10에서 1.8.0으로 변경한 다음 동기화합니다.=> 캐시 무효화 => 빌드

출처:

plugins {
....
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}

받는 사람:

plugins {
....
id 'org.jetbrains.kotlin.android' version '1.8.0' apply false
}

정렬이 이러한 의존 관계와 플래그를 만드는 방법에 대한 설명은 공식 kotlin 문서에서 이 노트를 참조하십시오.아래의 원래 답변은 이를 고려하지 않은 대안적인 접근 방식입니다.

kotlin-stdlib-jdk7그리고.kotlin-stdlib-jdk8된할다으로 대체되어야 하는 오래된 종속성입니다.kotlin-stdlib(@MrPNG가 kotlin 1.8의 새로운 문서에서 지적한 바와 같이).그러나, 다른 라이브러리들은 여전히 그것들에 대한 종속성을 선언할 수 있고, 이것은 의존성으로 대체될 필요가 있습니다.kotlin-stdlib.

및 해결되는 할 수 (jdk7 jdk8 이 와 되는 을 할 할 을 ).app/build.gradle):

dependencies {
    constraints {
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
            because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
        }
        implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
            because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
        }
    }
}

constraints위의 섹션은 다른 의존 관계와 함께 추가될 수 있습니다.기)))1.8.0 합니다 이 에 이어야 할 과 에 이어야 이 이 ).(org.jetbrains.kotlin:kotlin-stdlib:1.8.0))

이 ㅇapply plugin: 'kotlin-android'dependency에 합니다. "stdlib in dependency " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " "

    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

(이 블로그 덕분에)

이전의 모든 솔루션을 시도해 보았지만 아래 코드를 추가한 후에는 작동하고 있었습니다.

dependencies {
   ... ... ...
   implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
   ... ... ...
}

안드로이드 주석 라이브러리를 ver 1.4.0에서 1.6.0으로 업그레이드한 후 동일한 오류가 발생했습니다.

implementation 'androidx.annotation:annotation:1.6.0'

그래서 1.5.0으로 다운그레이드를 했는데 오류가 사라졌습니다.

implementation 'androidx.annotation:annotation:1.5.0'

이것이 당신에게도 도움이 되기를 바랍니다.

코틀린 안드로이드 플러그인 및 코틀린 컴파일러 업그레이드

plugins {
    id 'org.jetbrains.kotlin.android' version '1.8.10'
}
android {
    composeOptions {
        kotlinCompilerExtensionVersion = "1.4.3"
    }
}

는 에서 을 하여 를 했습니다 했습니다 를 하여 는 에서 을 build.gradle철철로 철하다

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.7.20-RC"

로.

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"

이제 라이프사이클 종속성을 최신 버전으로 업데이트하고 build.gradle에 다음 행을 추가하기만 하면 됩니다.

dependencies {

    (...)

    // Fix Duplicate class
    implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))

}

나는 이 같은 문제를 해결하기 위해 여러 가지 방법을 시도했지만 작동하지 않았습니다. 나는 아래에 내 "build.gradle(module:app)"에 이 종속성을 추가하려고 했습니다.

implementation (platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))

그러면 지금 동기화하면 이 오류가 해결됩니다.

사용하고 있었습니다.org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10이전에 SDK에서 코틀린을 v1.8.0으로 업데이트했는데 그때 안드로이드 자바 프론트엔드 애플리케이션에서 위의 오류가 발생하기 시작했습니다.용을 해서.org.jetbrains.kotlin:kotlin-bom는 과도한 의존성으로 문제를 해결했으며, Kotlin 세부사항을 Java 애플리케이션에 유출하지 않기 때문에 보다 깨끗한 접근 방식이 될 수 있습니다.

그래서 그냥 교체했습니다.

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.10"

그 아래로 나는 문제를 해결했습니다.

// Align versions of all Kotlin components
implementation(platform("org.jetbrains.kotlin:kotlin-bom:1.8.0"))
implementation "org.jetbrains.kotlin:kotlin-stdlib:1.8.0"

Compose를 사용하는 경우 Compose Compiler(https://developer.android.com/jetpack/androidx/releases/compose-compiler) 를 1.4.2로, Kotlin을 1.8.10으로 동시에 업데이트해야 합니다.

제 코틀린 프로젝트에서도 같은 오류가 있었습니다.프로젝트에 Ktor를 추가하고 라이브러리 버전을 업그레이드할 때 유선 long 오류가 발생했습니다.이렇게 고쳤습니다.

작곡 버전 1.4.0을 사용했습니다.

ext {
    compose_ui_version = '1.4.0'
}

버전 1.8.0, 최근의 것1.8.10작곡과지는1.4.0그래서 저는.

id 'org.jetbrains.kotlin.android' version '1.8.0' apply false

그다음에 조정을 합니다.composeOptions apple build.gradle 파일, apple build.gradle 파일 등.

composeOptions {
    kotlinCompilerExtensionVersion '1.4.0'
}

이것이 제가 한 세 가지 변경 사항이고 유선 오류에서 벗어났습니다.이것이 누군가에게 도움이 되길 바랍니다.

lifecycle-viewmodel-ktx-2.6.1

밑.

lifecycle-viewmodel-ktx-2.5.1

저는 의존도 값을 낮춤으로써 그럭저럭 작동할 수 있었습니다.

Composition Compiler와 JetBrains Kotlin 플러그인을 호환하도록 하여 수정하였습니다.

우선, 기관.제트뇌를 사용하고 있는지 확인해보세요.코틀린안드로이드 플러그인 버전 1.8.0 이상.

build.gradle(프로젝트)

plugins {
  ...
  id 'org.jetbrains.kotlin.android' version '1.8.21' apply false
}

그런 다음 아래 링크에서 Compose Compiler 호환 버전을 확인하고 build.gradle(앱)을 업데이트합니다.

android {
  ...
  composeOptions {
    kotlinCompilerExtensionVersion '1.4.7'
  }
}
configurations.all {
    resolutionStrategy {
        force 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10'
    }
}

gradle 파일 끝에 추가하면 도움이 됩니다.

Kotlin 1.8.0 (https://kotlinlang.org/docs/whatsnew18.html#updated-jvm-compilation-target), 의 릴리스 노트에 따르면 특정해서는 안 됩니다.kotlin-stdlib-jdk7도 아니다kotlin-stdlib-jdk8으로 사용하지 더존로에요냥상냥요es,t에더상,d로,, )kotlin-stdlib.

업데이트된 버전 의존성일 수도 있습니다.내 새 작곡 앱에서 업데이트할 때

구현 1.0.0-alpha11에서 'marginx.material3:material3:*' (새로운 버전)

저는 이 오류를 당하게 될 것입니다.업데이트된 종속성을 되돌리십시오.

그리고 저는 이 오류가 발생하고 있었습니다.android studiogradle 모듈에 추가합니다.ktx:+의존

오늘 이 문제에 부딪혔고 둘 다 업그레이드해서 고쳤습니다.Kotlin std-lib안드로이드와 더의 경우std-lib그 자체.또한 compose를 사용하는 경우에는kotlinCompilerExtensionVersion

여기 최종 설정이 있습니다.

  • 모듈 수준의 그라들 파일
composeOptions {
    kotlinCompilerExtensionVersion '1.4.3'
}
  • 루트 프로젝트 그라들 파일
plugins {
    id 'com.android.application' version '7.3.1' apply false
    id 'com.android.library' version '7.3.1' apply false
    id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
    id 'org.jetbrains.kotlin.jvm' version '1.8.10' apply false
}

이전 KGP 버전에 대한 해결 방법은 다음과 같습니다.
*fileapp/build.gradle

dependencies {
constraints {
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.0") {
        because("kotlin-stdlib-jdk7 is now a part of kotlin-stdlib")
    }
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0") {
        because("kotlin-stdlib-jdk8 is now a part of kotlin-stdlib")
    }
}

}

저도 프로젝트에서 똑같은 오류가 있었습니다.마침내 나에게 도움이 된 것은 다음과 같은 단계들이었습니다.

1- 빌드 스크립트를 아래와 같이 업데이트했습니다.

buildscript {
    ext {
        compose_ui_version = '1.3.3'
    }
}
then change pluggin 
From

plugins {
....
id 'org.jetbrains.kotlin.android' version '1.7.10' apply false

}

To

plugins {
....
id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
}

build.grade(앱)에서 마지막으로 업데이트됨

안드로이드 범위 {}의 변경 사항

    android {
    ......
    composeOptions {
            kotlinCompilerExtensionVersion '1.2.0'
        }
    .......
    }

다음으로 넘어가면 오류가 사라집니다.

 composeOptions {
        kotlinCompilerExtensionVersion = "1.4.3"
    }

Hope it helps someone else 

코틀린 컴파일러확장 버전(작곡) -> kotlin_version

1.4.4 -> 1.8.10

1.4.3 -> 1.8.10

1.4.2 -> 1.8.10

1.4.1 -> 1.8.0

1.4.0 -> 1.8.0

1.4.0-alpha02 -> 1.7.21

1.4.0-alpha01 -> 1.7.20

1.3.2 ->1.7.20

...

기타 버전: https://developer.android.com/jetpack/androidx/releases/compose-kotlin

저도 비슷한 오류가 발생하고 있습니다.이 설정들은 저에게 효과가 있었습니다.

참고: 사용하고 있습니다.Android Studio Flamingo | 2022.2.1

build.gradle(:project)설정들

오래된 용도:

buildscript {
    ext.kotlin_version = "1.7.20"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:7.4.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
...

새로운 용도:

buildscript {
    ext.kotlin_version = "1.8.0"
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:8.0.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
...

build.gradle(:app)설정들

오래된 용도:

...
compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    kotlinOptions {
        jvmTarget = '1.8'
    }
...

새로운 용도:

...
compileOptions {
        sourceCompatibility JavaVersion.VERSION_17
        targetCompatibility JavaVersion.VERSION_17
    }
    kotlinOptions {
        jvmTarget = '17'
    }
...

그라들 프로젝트 설정

enter image description here

1단계 :- 추가

plugins {
        id 'com.android.application'
        id 'org.jetbrains.kotlin.android' version '1.8.10' apply false
    }

2단계 :- 종속성에 추가

dependencies {

.....

  constraints{
        implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.8.10'
        implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.10'
    }
}

참고:- 버전 '1.8.10', jdk7:1.8.10 및 jdk7:1.8.10은 동일합니다...

업데이트 2023

최근에 중복 수업의 대부분이 코틀린의 것이라는 같은 문제가 있었습니다.오류 중 하나는 다음과 같습니다.

Duplicate class kotlin.collections.jdk8.CollectionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) and jetified-kotlin-stdlib-jdk8-1.6.21 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.6.21)

버기 코틀린 버전을 사용하고 있어서 이 문제가 있었습니다.코틀린 버전을 다음으로 업그레이드합니다.1.8.0-Beta 다음을 수행합니다.

의 에android/build.gradle, 을 합니다 .ext섹션:

kotlinVersion = "1.8.0-Beta"

이제 종속성 섹션으로 이동하여 다음을 추가합니다.

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"

으로, 를 합니다.JAVA_HOMEJDK11을 가리킵니다.

이렇게 해서 문제가 해결되었습니다.도움이 되길 바랍니다!

이 세부 정보를 다음으로 다운그레이드합니다.

implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.3.1'
implementation 'androidx.activity:activity-compose:1.5.1'

제가 모든 방법을 확인해보니, 만약 이런 알파 버전이 있다면:

 implementation 'androidx.appcompat:appcompat:1.7.0-alpha02'

로 바꾸다

implementation 'androidx.appcompat:appcompat:1.6.1'

클래스 경로를 에 추가합니다.build.gradle()

 dependencies {
     
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0"
...
    }

컴포지트 컴파일러 버전과 코틀린 버전의 호환성 때문입니다.이 답변을 게시할 때 대부분의 업데이트된 호환 버전은 다음과 같습니다.

컴파일러 버전: 1.4.6 Kotlin 버전: 1.8.20

이 페이지에서 항상 최신 호환 버전을 찾을 수 있습니다. https://developer.android.com/jetpack/androidx/releases/compose-kotlin

다음과 같이 앱 레벨 그래들 파일에서 이 버전을 설정할 수 있습니다.

composeOptions {
    kotlinCompilerExtensionVersion = "1.4.3"
}

그리고.

plugins {
    id 'org.jetbrains.kotlin.android' version '1.8.10'
}

이 중 하나를 업그레이드할 때 이 문제가 발생했습니다.

implementation 'androidx.navigation:navigation-fragment:2.5.3'
implementation 'androidx.navigation:navigation-ui:2.5.3'

버전 2.6.0으로.2.5.3으로 롤백하면 오류가 사라집니다.

안드로이드 스튜디오의 특정 의존성 업데이트 제안을 받아들여 똑같은 문제가 생겼습니다.

여기 있는 모든 해결책들을 살펴봤는데 내 경우에는 적용되지 않았어요 왜냐하면...저는 제 코드 어디에도 코틀린을 사용하지 않고 있습니다(즉, 제 개발은 모두 순수 자바로 되어 있습니다).

그래서 나는 다음과 같은 선을 찾게 되었습니다.build.gradle:

    implementation 'androidx.core:core-ktx:1.10.1'

방금 삭제했는데 업데이트 전과 같이 완벽하게 구축되었습니다.

나는 왜 내가build.gradle에 대해 언급이 있었습니다.androidx.core:core-ktx:1.9.0우선 (업그레이드 전)

kotlin 버전을 1.8.0으로 업데이트하면 보기 바인딩을 사용해야 합니다.

를 들면 classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.10'

코틀린 버전을 기존대로 유지하고 싶다면 앱 레벨 그라들에 추가하면 됩니다.

implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.8.0"

그것은 비록 일시적인 해결책이지만 중복된 수업 문제를 해결할 것입니다.여기 저의 AGP 버전은 7.4.1이고 Gradle 버전은 7.5입니다.

작곡의 경우, 안정 버전의 재료를 사용합니다 3

androidx.compose.material3:material3:1.0.1

보다

id 'org.jetbrains.kotlin.android' version '1.7.0' apply false

언급URL : https://stackoverflow.com/questions/75263047/duplicate-class-in-kotlin-android