Android Studio Дубликат класса Котлин

Дублирующийся класс kotlin.internal.jdk7.JDK7PlatformImplementations обнаружен в модулях jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) и jetified-kotlin-stdlib-jdk7-1.3.31 (org. .jetbrains.kotlin:котлин-stdlib-jdk7:1.3.31)

Дублированный класс kotlin.jdk7.AutoCloseableKt обнаружен в модулях jetified-kotlin-stdlib-1.8.0 (org.jetbrains.kotlin:kotlin-stdlib:1.8.0) и jetified-kotlin-stdlib-jdk7-1.3.31 (org.jetbrains .котлин:котлин-stdlib-jdk7:1.3.31)

**./степень очистки **

файл build.gradle:



buildscript {
    ext {
        buildToolsVersion = "30.0.0"
        minSdkVersion = 23
        compileSdkVersion = 33
        targetSdkVersion = 30
        googlePlayServicesAuthVersion = "16.0.1"
        kotlinVersion = "1.8.0"
    }
    
    firebase: [
        bom           : "26.0.0"
    ]
    
    repositories {
        google()
        jcenter()
        mavenCentral()
    }
    dependencies {

        classpath "com.android.tools.build:gradle:4.2.0" 
        classpath "com.google.gms:google-services:4.3.4"
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion"

    }
}
def REACT_NATIVE_VERSION = new File(['node', '--print',"JSON.parse(require('fs').readFileSync(require.resolve('react-native/package.json'), 'utf-8')).version"].execute(null, rootDir).text.trim())
allprojects {
    repositories {
        configurations.all {
            resolutionStrategy {

                force "com.facebook.react:react-native:" + REACT_NATIVE_VERSION
            }
        }
        mavenLocal()
        maven {

            url("$rootDir/../node_modules/react-native/android")
        }
        maven {

            url("$rootDir/../node_modules/jsc-android/dist")
        }
        maven { url 'https://maven.google.com' }
        google()
        jcenter()
        maven { url 'https://www.jitpack.io' }
    }
}

Можешь поделиться своим build.gradle?

YaMiN 26.01.2023 09:58

Да в вопросе @YaMiN

Yusuf Jalboush 26.01.2023 13:18

Вы случайно не использовали react-native-inappbrowser? Я описал проблему здесь: github.com/proyecto26/react-native-inappbrowser/issues/398

Igor VANIAN 26.01.2023 18:45
7
3
1 421
6
Перейти к ответу Данный вопрос помечен как решенный

Ответы 6

У меня возникла такая же проблема, когда я реагировал на собственный родной код на стороне Android. Я обновил Kotlin до версии 1.8.0 и снова собрал приложение, и проблема была исправлена. Возможно, попробуйте обновить версию kotlin.

В android/build.gradle обновите следующее

КотлинВерсия = "1.8.0"

и добавьте это в зависимости

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

Спасибо. Все работает, теперь я могу спать 😂

Ashish Mehra 26.01.2023 13:07

У меня была такая же проблема со вчерашнего дня. Я обнаружил, что причиной этого может быть слияние артефактов в Kotlin 1.8.0 . Вот выпуск, в котором рассказывается об этом критическом изменении.

Так что установка kotlinVersion = "1.8.0", как сказал @Narasimha, работает. Но я так и не понял, какая зависимость изменилась за ночь, что каким-то образом привело к появлению kotlin-stdlib:1.8.0 в журналах сборки.

Да, полностью согласен. Утром приложение работало нормально. Я сделал проверку фиксации в другой ветке и попытался запустить ее, и ошибка начала появляться.

Ashish Mehra 26.01.2023 13:33
Ответ принят как подходящий

Спасибо всем, я решаю это, делая две вещи

В android/build.gradle обновите следующее

kotlinVersion = "1.8.0"

В android/app/build.gradle добавьте следующее в зависимости

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

в моем случае работает, обновляя версию kotlin до 1.8.0, не нужно добавлять зависимость kotlin-bom,

Zainal Fahrudin 31.01.2023 08:07

Это может произойти, если вы используете разные версии для разных зависимостей Kotlin.

Попробуйте проверить все зависимости Kotlin. В моем случае проблема была с этим core-ktx

implementation "androidx.core:core-ktx:+"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

Обновление до этой решенной проблемы

implementation "androidx.core:core-ktx:$kotlin_version"
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

Вот kotlin_version = '1.7.0'. Вы можете использовать желаемую версию. Надеюсь, это поможет другим.

У меня была такая же проблема с моим приложением. Его не удалось собрать из-за дублирующихся классов, найденных в модулях jetified-kotlin-stdlib-1.8.0 и jetified-kotlin-stdlib-jdk8-1.6.10.

По ссылке, которой поделился Игорь ВАНЯН: https://kotlinlang.org/docs/whatsnew18.html#usage-of-the-latest-kotlin-stdlib-version-in-transitive-dependencies я добавил

dependencies {
    ...

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

на мой android/app/build.gradle и Android теперь отлично работает

Спас мою жизнь. Я сходил с ума от этой внезапной ошибки без каких-либо изменений в моем проекте. Не круто, котлиновцы!

moyo 26.01.2023 18:34

У меня была такая же проблема сегодня, и я исправил ее по-другому, если это кому-то поможет: Когда я обновил свой kotlin до версии 1.8, это начало происходить, и мне пришлось изменить версию рукояти на 2.44. Теперь работает нормально.

Другие вопросы по теме