"모듈은 호환되지 않는 버전의 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입니다.
모듈 업데이트에 관한 것입니까?그럼 어떻게 업데이트합니까?
아직도 이 문제에 대한 해답을 찾고 있는 사람을 위해, 여기 이 문제에 대한 해결책이 있습니다.에서 프로트수열있음려를 .build.gradle
일파, 증가를 .ext.kotlin_version
현재 의 어떤 이든 간에.1.5.0
신최안으로판정▁the▁version로.1.6.0
(그 시점에서 가장 최근의 것입니다.합니다.
다음 사이트에서 최신 버전을 얻을 수 있습니다.
https://kotlinlang.org/docs/releases.html#release-details
Kotlin에서 할 때 했습니다.1.4.30
1.5.0
의 종류것처보입다니럼의어떤▁some▁be보▁to▁seems▁sort다입▁of니처것.Gradle
캐시 문제입니다.는 업데이트를 통해 해결할 수 있었습니다.Gradle
6.7.1
6.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를 엽니다.
그 후에 애플리케이션을 다시 실행해 보니 효과가 있었습니다.
코틀린 버전을 최신 버전으로 업데이트했는데 도움이 되었습니다.
여기서
그리고 이것으로부터 안드로이드 스튜디오의 노란색 프롬프트를 고쳤습니다.implementation "androidx.core:core-ktx:+"
여까까지implementation "androidx.core:core-ktx:1.5.0"
저 같은 경우에는.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.android
1.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.1
androidx.core:core-ktx:1.6.0
이 라이브러리의 릴리스 노트에서 언급한 것은 다음과 같습니다.
참고: Core 및 Core-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
에 이 하게 될 의 중나이문직사있다확십오시하인을음다면을 하십시오.versions
dependencies
그리고.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-ktx
developer.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"
}
최근에 제 젠킨스 빌드가 유사한 오류 메시지 행과 함께 실패했습니다.그리고 이 문제를 완화하기 위해 아래와 같이 노력했습니다.
가능한 이유:
- Gradle 설정 옵션에서 오프라인 작업 모드가 켜져 있으며 컴파일 중 일부 종속성이 실패함
- 업데이트된 Android Studio는 이전 Kotlin 버전을 지원하지 않습니다.(가능성이 매우 낮음)
- 호환되지 않는 Gradle 배포 버전 wrt Gradle 플러그인(com.android)입니다.tools.build:gradle)
- Gradle 캐싱 문제
- 오류 문을 보니 모듈이 호환되지 않는 버전의 Kotlin으로 컴파일된 것 같습니다.예를 들어, 당신은 당신의 앱이 사용하고 있는 것과 다른 (호환성이 없는) 코틀린 버전으로 컴파일된 일부 sdk 의존성을 당신의 프로젝트에 추가했습니다.
가능한 솔루션:
Gradle 설정 옵션에서 오프라인 작업 모드를 해제해야 합니다.
Kotlin 플러그인을 다시 시작하고 Android Studio를 다시 시작합니다.
프로젝트에서 새로 추가된 sdk 종속성 제거/업그레이드
여기에서 Gradle 배포 버전이 Android 등급 플러그인과 호환되는지 확인합니다.
propertiesgradle-wrapper.properties의 버전 상위 합니다.
명령줄(더 나은 방법): '/gradlew 래퍼 --gradle-version X.Y.Z'.Manual: 래퍼의 gradle-wrapper.properties 파일에서 distributionUrl 속성을 변경합니다.
여기에서 gradle-wrapper.properties에서 사용할 Gradle의 최신 버전을 찾습니다.
Kotlin 버전 업그레이드:그다음에.코틀린의당신이 가지고 있는 버전에서 '1.4.32' 또는 여기서 이용 가능한 최신 버전으로.
여러 가지 가능한 이유가 있을 수 있으므로 해결책을 제시해 주시기 바랍니다.나의 경우 #5와 6의 솔루션 조합이 잘 작동했습니다.
이 문제를 해결하는 것을 거의 1년 연기한 후, 솔루션을 찾은 후 구현하기가 매우 쉬웠습니다.
"respository" 섹션의 build.gradle 파일에서 사용되지 않는 jcenter()를 mavenCentral()로 교체해야 했습니다.
당신은 당신의 프로젝트를 재구축해야 합니다.
- IntelliJIDE 열기
- 빌드
- 프로젝트 재구성
도서관 건축업자 전용.최신 버전의 Kotlin(예: 1.8.10)을 사용하여 라이브러리를 만들고 이전 버전의 Kotlin(예: 1.5.0) 프로젝트에서 라이브러리를 작동시키려면 설정해야 합니다.languageVersion
그리고.apiVersion
:
compileKotlin {
kotlinOptions {
jvmTarget = '1.8'
languageVersion = '1.4'
apiVersion = '1.4'
}
}
버전이 낮을수록 라이브러리의 소스 코드에서 사용할 수 있는 새로운 Kotlin 기능은 더 적어집니다.
나를 위해 업데이트해야 했습니다.Android Studio
4.2.2
.gradle
7.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'
build.gradle 파일에서 ext를 늘립니다.kotlin_1.6.0 버전
ext.kotlin_version = '1.6.0'
아직도 이 문제에 대한 해답을 찾고 있는 사람을 위해, 여기 이 문제에 대한 해결책이 있습니다.프로젝트 수준에서 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
'programing' 카테고리의 다른 글
테이블 생성/삭제 후 복원 지점 생성에도 불구하고 "테이블 정의가 변경됨" (0) | 2023.08.07 |
---|---|
Spring Junit 응용 프로그램 컨텍스트를 테스트 클래스에서 더럽힌 후 재설정하는 방법은 무엇입니까? (0) | 2023.08.07 |
이중 포인터를 사용하여 2차원 배열을 표현할 수 없는 이유는 무엇입니까? (0) | 2023.08.07 |
복원 지점에서 Win10을 복구하면 데이터는 삭제되지만 데이터베이스 및 테이블은 Maria에 남아 있습니다.DB (0) | 2023.08.07 |
XML 파일 루프 가져오기 (0) | 2023.08.02 |