programing

"모듈은 호환되지 않는 버전의 Kotlin으로 컴파일되었습니다.메타데이터의 이진 버전은 1.5.1이며 예상 버전은 1.1.16입니다.

oldcodes 2023. 8. 7. 23:03
반응형

"모듈은 호환되지 않는 버전의 Kotlin으로 컴파일되었습니다.메타데이터의 이진 버전은 1.5.1이며 예상 버전은 1.1.16입니다.

앱을 빌드할 때 다음 오류가 발생합니다.

C:/Users/Lenovo/.gradle/caches/transforms-2/files-2.1/32f0b3e96b47cf79ece6482359b6ad2/jetized-kotlin-stdlib-jdk7-1.5.0.jar!/MATA-INF/kotlinflin-stdlib-j7.kotlin_module: 모듈이 호환되지 않는 버전의 Kotlin으로 컴파일되었습니다.메타데이터의 이진 버전은 1.5.1이며 예상 버전은 1.1.16입니다.

screenshot

모듈 업데이트에 관한 것입니까?그럼 어떻게 업데이트합니까?

아직도 이 문제에 대한 해답을 찾고 있는 사람을 위해, 여기 이 문제에 대한 해결책이 있습니다.에서 프로트수열있음려를 .build.gradle 일파, 증가를 .ext.kotlin_version 현재 의 어떤 이든 간에.1.5.0 신최안으로판정▁the▁version로.1.6.0(그 시점에서 가장 최근의 것입니다.합니다.

다음 사이트에서 최신 버전을 얻을 수 있습니다.

https://kotlinlang.org/docs/releases.html#release-details

Kotlin에서 할 때 했습니다.1.4.301.5.0의 종류것처보입다니럼의어떤▁some▁be보▁to▁seems▁sort다입▁of니처것.Gradle캐시 문제입니다.는 업데이트를 통해 해결할 수 있었습니다.Gradle6.7.16.9(또는 다른 버전).

다음으로 이동gradle-wrapper.properties그리고 이 라인을 변경합니다.

분배URL = https://services.gradle.org/distributions/gradle-6.7.1-all.zip https://services.gradle.org/distributions/gradle-6.7.1-all.zip

로.

분배URL = https://services.gradle.org/distributions/gradle-6.9-all.zip https://services.gradle.org/distributions/gradle-6.9-all.zip

저는 IntelliJ IDEA 버전에서 동일한 문제에 직면했습니다.궁극의 2019.3

jar 버전을 여러 번 변경하고 debug 버튼을 클릭하여 애플리케이션을 실행할 때 문제가 발생했습니다.

아래 단계를 사용했을 때 문제가 해결되었습니다.

IntelliJ >> Build >> Rebuild Project를 엽니다.

그 후에 애플리케이션을 다시 실행해 보니 효과가 있었습니다.

코틀린 버전을 최신 버전으로 업데이트했는데 도움이 되었습니다.

여기서

enter image description here

그리고 이것으로부터 안드로이드 스튜디오의 노란색 프롬프트를 고쳤습니다.implementation "androidx.core:core-ktx:+" 여까까지implementation "androidx.core:core-ktx:1.5.0"

enter image description here

저 같은 경우에는.buildScript 또는 블록또는ext.kotlin_version내 안에서ProjectRoot/build.gradle 대에이, 다음있다니가 .plugins내 코틀린 버전을 설명하는 블록.

plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.5.30' apply false
}

org.jetbrains.kotlin.android1.7.10 예:

plugins {
    id 'com.android.application' version '7.2.2' apply false
    id 'com.android.library' version '7.2.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.10' apply false
}

이것은 마침내 효과가 있습니다. 누군가를 돕기를 바랍니다.

코틀린 표준 라이브러리와 일치하도록 코틀린 그래들 플러그인을 업데이트해야 했습니다.{project}/build.gradle.

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

저는 표준 라이브러리에 대한 의존성에 대한 호출을 제거했습니다. 이제 제 의존성을 기반으로 Gradle에 굽기 때문입니다. 하지만 이것은 직접적인 관련이 덜합니다. 삭줄제에서 이 합니다.{project}/{app module}/build.gradle:

dependencies {
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:{kotlin version}"
    ...
}

참조:예외 오류 블로그 게시물

저의 경우 업그레이드 시 문제가 발생합니다.androidx.core:core-ktx:1.3.1androidx.core:core-ktx:1.6.0

이 라이브러리의 릴리스 노트에서 언급한 것은 다음과 같습니다.

참고: CoreCore-ktx Version 1.5.0 이상 버전은 Android 11 SDK에서만 컴파일됩니다.**

https://developer.android.com/jetpack/androidx/releases/core#core_and_core-ktx_version_150_2

해결책: 아래 라이브러리를 1.5.0으로 다운그레이드하고 동기화합니다. 이 경우 오류가 사라집니다.

최신 Studio를 의 큰 에 새로운 했을 때 했지만, 에서 언급한 프로젝트를 수 .ext.kotlin_version어디든 고칠 수 있습니다.어쨌든, build.gradle 파일을 정상적으로 작동하는 새로운 독립형 프로젝트의 파일과 비교한 후에, 나는 변경되는 것을 발견했습니다.1.6.0여기:

dependencies {
    implementation 'androidx.core:core-ktx:1.6.0'
    ...
}

1.3.2문제 해결:

dependencies {

    implementation 'androidx.core:core-ktx:1.3.2'
    ...
}

project build.gradle로 이동하여 "ext.gradlin_version = 1.5.0"을 업데이트합니다.

우선, 우리는 갈등이 어디서 오는지 알아야 합니다.

바이너리 버전 1.5.1은 종속성 트리를 검사하여 알 수 있는 kotlin-stdlib 버전이 아닙니다.저의 경우 org.jetbrain에 의존하는 안드로이드x.core:core-ktx:1.6.0을 사용했습니다.코틀린:nablin-stdlib:1.5.10

은 예상버의버따다다릅의 .kotlin-gradle-plugin에서 사용되는.build.gradle프로젝트 파일.

그래서 저의 경우에는, 두 사람 사이에 호환성이 없었습니다.androidx.core:core-ktx그리고.kotlin-gradle-plugin , 이 있었습니다.갈등을 해결하기 위해 두 가지 방법이 있었습니다.KGP를 업그레이드하거나 ktx를 다운그레이드합니다.

in build.gradle(프로젝트)

ext.kotlin_version = '1.3.40'     // not compatible with ktx:1.6.0
//  ext.kotlin_version = '1.4.31' // upgrading KGP fixes the issue
dependencies {
    classpath 'com.android.tools.build:gradle:3.5.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
}

in build.gradle(모듈)

//  implementation "androidx.core:core-ktx:1.2.0" // downgrading ktx fixes the issue
implementation "androidx.core:core-ktx:1.6.0"     // not compatible with kotlin_version = '1.3.40'

Gradle-wrapper.properties에서

distributionUrl=https\://services.gradle.org/distributions/gradle-5.4.1-all.zip

여기서 원칙은 KGP의 출시일이 가까운 ktx 버전을 선택하는 것입니다.두 링크 모두 아래에서 확인할 수 있습니다.

https://developer.android.com/jetpack/androidx/releases/core

https://developer.android.com/studio/releases

https://developer.android.com/studio/releases/past-releases

https://developer.android.com/studio/releases/gradle-plugin

2022년 11월 4일부터 RN에 대한 문제가 발생하고 있습니다. 해결 방법은 아래 링크를 참조하십시오.https://github.com/facebook/react-native/issues/35210

에 이 하게 될 의 중나이문직사있다확십오시하인을음다면을 하십시오.versionsdependencies그리고.classpath

ext.kotlin_version = "1.4.32"

반시드.gradle-wrapper.properties.

분배URL = https://services.gradle.org/distributions/gradle-6.9-bin.zip https://services.gradle.org/distributions/gradle-6.9-bin.zip

레벨 앱build.gradle를 끊다

implementation 'androidx.core:core-ktx:1.5.0'
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.4.3'

할 수 . 내: 이한러: 참고종을확문발면수있다습니생할.coroutines-android. 그리고 나서 나는 github 릴리스를 확인했고 내 프로젝트 Gradle 구성에 맞는 버전을 얻었습니다.

다음을 확인할 수 있습니다.kotlinx-coroutines-android 릴리스 github 파일입니다.

https://github.com/Kotlin/kotlinx.coroutines/releases

또한 다음을 확인할 수 있습니다.core-ktxdeveloper.android..android.com 의 과 같습니다.

https://developer.android.com/jetpack/androidx/releases/core

정리되지 않은 Gradle 캐시도 문제가 될 수 있습니다.나는 이 같은 문제에 직면했고 삭제함으로써 해결했습니다..gradle/caches루트 폴더의 디렉터리입니다.

단계:

  • caches 위의디리터렉치,[RootFolder]/.gradle/caches
  • 캐시 무효화 및 재시작
  • 프로젝트 재구성

참조: https://stackoverflow.com/a/23029580/10506244

에 안에.android/build.gradle다음이 없는 경우 변경하거나 추가해야 합니다.

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

최근에 제 젠킨스 빌드가 유사한 오류 메시지 행과 함께 실패했습니다.그리고 이 문제를 완화하기 위해 아래와 같이 노력했습니다.

가능한 이유:

  1. Gradle 설정 옵션에서 오프라인 작업 모드가 켜져 있으며 컴파일 중 일부 종속성이 실패함
  2. 업데이트된 Android Studio는 이전 Kotlin 버전을 지원하지 않습니다.(가능성이 매우 낮음)
  3. 호환되지 않는 Gradle 배포 버전 wrt Gradle 플러그인(com.android)입니다.tools.build:gradle)
  4. Gradle 캐싱 문제
  5. 오류 문을 보니 모듈이 호환되지 않는 버전의 Kotlin으로 컴파일된 것 같습니다.예를 들어, 당신은 당신의 앱이 사용하고 있는 것과 다른 (호환성이 없는) 코틀린 버전으로 컴파일된 일부 sdk 의존성을 당신의 프로젝트에 추가했습니다.

가능한 솔루션:

  1. Gradle 설정 옵션에서 오프라인 작업 모드를 해제해야 합니다.

  2. Kotlin 플러그인을 다시 시작하고 Android Studio를 다시 시작합니다.

  3. 프로젝트에서 새로 추가된 sdk 종속성 제거/업그레이드

  4. 여기에서 Gradle 배포 버전이 Android 등급 플러그인과 호환되는지 확인합니다.

  5. propertiesgradle-wrapper.properties의 버전 상위 합니다.
    명령줄(더 나은 방법): '/gradlew 래퍼 --gradle-version X.Y.Z'.

    Manual: 래퍼의 gradle-wrapper.properties 파일에서 distributionUrl 속성을 변경합니다.

    여기에서 gradle-wrapper.properties에서 사용할 Gradle의 최신 버전을 찾습니다.

  6. Kotlin 버전 업그레이드:그다음에.코틀린의당신이 가지고 있는 버전에서 '1.4.32' 또는 여기서 이용 가능한 최신 버전으로.

여러 가지 가능한 이유가 있을 수 있으므로 해결책을 제시해 주시기 바랍니다.나의 경우 #5와 6의 솔루션 조합이 잘 작동했습니다.

이 문제를 해결하는 것을 거의 1년 연기한 후, 솔루션을 찾은 후 구현하기가 매우 쉬웠습니다.

"respository" 섹션의 build.gradle 파일에서 사용되지 않는 jcenter()를 mavenCentral()로 교체해야 했습니다.

당신은 당신의 프로젝트를 재구축해야 합니다.

  1. IntelliJIDE 열기
  2. 빌드
  3. 프로젝트 재구성

도서관 건축업자 전용.최신 버전의 Kotlin(예: 1.8.10)을 사용하여 라이브러리를 만들고 이전 버전의 Kotlin(예: 1.5.0) 프로젝트에서 라이브러리를 작동시키려면 설정해야 합니다.languageVersion그리고.apiVersion:

compileKotlin {
    kotlinOptions {
        jvmTarget = '1.8'
        languageVersion = '1.4'
        apiVersion = '1.4'
    }
}

버전이 낮을수록 라이브러리의 소스 코드에서 사용할 수 있는 새로운 Kotlin 기능은 더 적어집니다.

나를 위해 업데이트해야 했습니다.Android Studio4.2.2.gradle7.0작을수할아라니뿐만행을 ,kotlin마이그레이션(아무런 관련이 없는 경우).그리고 마지막으로 업데이트한 나의ext.kotlin to _ 로의버전▁_.1.5.20 것이 끝난 는 캐시를 하고 다시 시작했습니다.Android studio.

코틀린 플러그인을 업데이트하기 위해 코틀린 버전과 배포 URL이 작동했습니다.

kotlin_version = '1.4.32'

그리고.

distributionUrl=https\://services.gradle.org/distributions/gradle-6.9.1-all.zip

저는 어제 이 문제를 겪었습니다.해결책은 build.gradle의 kotlin 버전을 1.5.0으로 변경하고 프로젝트 구조의 Gradle 버전을 6.9로 변경하는 것입니다.

ext.kotlinVersion = '1.5.0'

enter image description here

build.gradle 파일에서 ext를 늘립니다.kotlin_1.6.0 버전

ext.kotlin_version = '1.6.0'

enter image description here

아직도 이 문제에 대한 해답을 찾고 있는 사람을 위해, 여기 이 문제에 대한 해결책이 있습니다.프로젝트 수준에서 build.gradle 파일을 열고 ext를 늘립니다.kotlin_version은 1.3.61과 같은 현재 버전에서 1.4.0(당시 최신 버전)으로 변경할 수 있습니다.감사해요.

나의 경우 flooth 프로젝트와 Android 스튜디오 IDE, kotlin 버전과 gradle 버전은 이전에 업데이트되었습니다.

file > Invaladate caches매력적으로 작동했습니다.

반응 네이티브의 경우 다음 솔루션 작업

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    // ...
}


allprojects {
    repositories {
+       exclusiveContent {
+           // We get React Native's Android binaries exclusively through npm,
+           // from a local Maven repo inside node_modules/react-native/.
+           // (The use of exclusiveContent prevents looking elsewhere like Maven Central
+           // and potentially getting a wrong version.)
+           filter {
+               includeGroup "com.facebook.react"
+           }
+           forRepository {
+               maven {
+                   // NOTE: if you are in a monorepo, you may have "$rootDir/../../../node_modules/react-native/android"
+                   url "$rootDir/../node_modules/react-native/android"
+               }
+           }
+       }
        // ...
    }
}

저는 방금 모든 것을 최신 버전으로 업데이트했습니다.그리고 안드로이드 스튜디오 자체에서 가장 최근에 언급한 것입니다.

    ext.kotlin_version = '1.5.20'

    dependencies {
        classpath 'com.android.tools.build:gradle:4.2.2'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "androidx.navigation:navigation-safe-args-gradle-plugin:2.4.0-alpha04"
    }

그리고.

distributionUrl=https\://services.gradle.org/distributions/gradle-6.9-all.zip

Gradle-wrapper.properties에서

Kotlin의 다양한 버전을 4시간 동안 테스트한 후 프로젝트에서 NOT AKOTL가 되었습니다. 이 솔루션은 제 삶을 해결해 주었습니다.

Intellij로 이동하여 Kotlin 플러그인을 사용하지 않도록 설정합니다.그런 다음 모든 것을 다시 컴파일합니다.

이러한 현상이 발생하는 실제 문제는 kotlin 컴파일러 버전 및 Gradle 플러그인 버전과의 비호환성 때문입니다.

를 생성했고 Chipmunk의 Android 은 kotlin_version 변수입니다.ext은 거기에 없고 없다니습이블입니다.build.gradle합니다.

따라서 변경할 수 있습니다.build.gradle (글로벌) 이렇게글.

buildscript {
    ext {
        compose_version = '1.2.0-beta02'
        kotlin_version = '1.6.21'// This might be missing, you can add it
    }
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:7.2.0"
    


// Do not hardcode this version, instead make it rely on the global variable you declared on top

//No
//classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.4.20"
//Yes
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "com.google.dagger:hilt-android-gradle-plugin:2.38.1"
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}


Kotlin 버전만 업그레이드하면 되는 이유:앱 또는 lib를 컴파일하려는 Kotlin 버전과 하위 호환되지 않는 Kotlin 버전에 대해 적어도 하나의 종속성이 컴파일되었습니다.

또는 어떤 종속성인지 확인하고 다운그레이드할 수 있습니다.그러나 이것은 제한적일 수 있으므로 가능하면 Kotlin 버전을 업그레이드하십시오.

고통을 기억하고, 만약 당신이 다른 사람들이 사용할 수 있도록 코틀린 라이브러리를 쓴 적이 있다면, 당신이 컴파일하는 코틀린 버전에서 보수적인 것을 고려하고, 그 버전을 릴리스 노트에 나열하십시오.

방금 안드로이드/build.gradle 파일에 새 버전을 추가했습니다.실제로 코틀린 버전 오류가 발생하면 코틀린 웹사이트로 이동하여 거기서 버전을 복사하고 안드로이드/build.gradle 파일을 넣을 수 있습니다.하지만 때때로 당신은 올바른 버전을 얻을 필요가 있을 수 있습니다.

 dependencies {
    classpath 'com.android.tools.build:gradle:7.1.2'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
} 

위에 마우스를 올려 놓으면 정확한 것을 알려주고 여기에 추가합니다. https://youtu.be/WTEPNOQdpB0

언급URL : https://stackoverflow.com/questions/67448034/module-was-compiled-with-an-incompatible-version-of-kotlin-the-binary-version

반응형