Kotlin 오류 : org.jetbrains.kotlin : kotlin-stdlib-jre7 : 1.0.7을 찾을 수 없습니다.


101

Kotlin 플러그인을 내 앱 (v. v1.1.1-release-Studio2.2-1)에 설치 한 다음 "Configure Kotlin in Project"를 선택했습니다. 컴파일러 및 런타임 버전 1.0.7을 선택했습니다. Kotlin이 내 Gradle 파일을 업데이트했습니다. 이제 빌드하려고 할 때 다음을 얻습니다.

오류 : ': app'프로젝트를 구성하는 중에 문제가 발생했습니다. 구성 ': app : _debugApkCopy'에 대한 모든 종속성을 해결할 수 없습니다. org.jetbrains.kotlin : kotlin-stdlib-jre7 : 1.0.7을 찾을 수 없습니다. 필요한 사람 :

MyApplication : app : 지정되지 않음

내가 여기서 무엇을 놓치고 있는지 잘 모르겠습니다.


2
프로젝트 레벨 게시gradle
Patel Pinkal 2017 년

Android 용 Kotlin 지원을 추가하는 방법은 다음과 같습니다. kotlinlang.org/docs/reference/using-gradle.html
IgorGanapolsky

답변:


160

바꾸다

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

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

jre가 포함 된 버전이 절대적이므로 프로젝트를 교체하고 동기화하십시오.

공식 문서는 여기 에 링크를 주셔서 감사합니다 @ ROMANARMY

해피 코딩 :)


1
jdk 및 jre 에 대한 문서의 몇 가지 유용한 정보 .
R0MANARMY

나는 언젠가 안드로이드 팀이 일을 조금 더 쉽게 만들거나 적어도 그들은 웹 사이트 깊숙이 파 묻히지 않고 굵게 변경 로그에 주요 변경 사항을 기록 할 것이라고 믿습니다. :))
Farid

12
와의 차이점을 확인하는 데 1 분의 시간이 걸렸습니다. – 저는 늙어 jre가고 jdk있습니다.
제임스 왕

32

프로젝트 수준 build.gradle에서이 버전 만 사용

ext.kotlin_version = '1.3.31'

다른 버전 제거

이것은 최신 버전의 android studio 3.4에서만 작동합니다.

업데이트 : 오류를 방지하려면 최신 Android 스튜디오에서 최신 버전의 kotlin을 사용하십시오.


22
설명없이 사용할 매직 버전을 지정하는 답변은 그다지 도움이되지 않으며 시간이 지남에 따라 그다지 도움이되지 않습니다. 낮은 버전에서 업그레이드 할 것을 제안하고 있습니까? 또는 상위 버전에 버그가 있기 때문에 상위 버전에서 다운 그레이드 하시겠습니까?
Don Hatch

3
@DonHatch이 답변은 3 월에 android studio 2.2에 대해 제공되었으며 위의 질문에서 오류가 언급되었습니다. 안드로이드 스튜디오 3.0 이상은 아닙니다.
Patel Pinkal 2017

@ 0xalihn의 답은 아래의 매직 버전 번호가없는 정확한 솔루션을 제공
루 Morda

@PatelPinkal은 최신 안드로이드 스튜디오 버전에 대한 답변을 업데이트 할 수 있습니다.
Arbaz.in

1
나는 최신 버전의 Android 스튜디오에 따라 답변을 업데이트했습니다
Arbaz.in

21

의 분할 kotlin-stdlibkotlin-stdlib-jre7와는 kotlin-stdlib-jre8단지 의존성이 해결 될 수없는 이유, 패키지 버전은 단순히 존재하지 않는 사용자들은, 코 틀린 1.1에서 도입되었습니다.

프로젝트 파일에 대한 업데이트가 어느 시점에서 실패하고 Kotlin 버전을 1.0.7로 설정 한 것 같습니다. 이것이 새로운 프로젝트이고 1.1.1을 사용하는 데 방해가되는 것이 없다면 그 프로젝트로 전환하겠습니다. 이렇게하면 문제가 사라질 것입니다.


3
설명 해주셔서 감사합니다. 몇 가지 답변은 설명없이 1.1.1을 사용한다고 말하는데, 이는 향후 답변이 빠르게 쓸모 없게 될 것입니다.
Don Hatch

12

"build.gradle"파일에서 해당 줄의 현재 Kotlin 버전을 변경하고 synk를 누릅니다.

ext.kotlin_version = '1.1.1'

/// 다음과 같이 표시됩니다.

// 모든 하위 프로젝트 / 모듈에 공통적 인 구성 옵션을 추가 할 수있는 최상위 빌드 파일입니다.

buildscript {
    ext.kotlin_version = '1.1.1'
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.3.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

8

Kotlin 1.1.2부터 그룹과의 종속성 org.jetbrains.kotlin은 기본적으로 적용된 플러그인에서 가져온 버전으로 해결됩니다. 다음과 같은 전체 종속성 표기법을 사용하여 수동으로 버전을 제공 할 수 있습니다.

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

JDK 7 또는 JDK 8을 대상으로하는 경우 새 JDK 버전에 추가 된 API에 대한 추가 확장 함수가 포함 된 확장 버전의 Kotlin 표준 라이브러리를 사용할 수 있습니다. kotlin-stdlib 대신 다음 종속성 중 하나를 사용하십시오.

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7"
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk8"

7

Android Studio 3.2를 사용하는 경우 새로운 솔루션으로, 프로젝트의 build.gradle에 mavenCentral ()을 추가하여이 문제를 해결했습니다.

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

    }
}

allprojects {
    repositories {
        mavenCentral()
        google()
        jcenter()
    }
}

이 주문으로 라인을 추가해야합니다. 이 답변에 대한 크레딧이 있습니다.


4
buildscript {
    **ext.kotlin_version = '1.1.1'**  //Add this line
    repositories {
        **jcenter()**                 //Add this line
        google()
    }
    dependencies {
//        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.android.tools.build:gradle:3.1.0'

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        **jcenter()**                 //Add this line
        google()
        maven { url "https://jitpack.io" }
    }
}

이것이 기반으로하는 것처럼 보이는 Mihail Salari의 답변을 개선하는 방법에 대해 자세히 설명 할 수 있습니다.
니모

3

Android Studio 3.2 이상을 사용하는 경우 프로젝트의 build.gradle에 google () 및 jcenter ()를 추가하면 문제가 해결됩니다.

repositories {
        google()
        jcenter()
}

2

이것이 나를 위해 일한 것입니다 : Gradle 4.8.1 사용

buildscript {
    ext.kotlin_version = '1.1.1' 
repositories {
    jcenter()
    google()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.0'}
}
allprojects {
    repositories {
        mavenLocal()
        jcenter()
        google()
        maven {
            url "$rootDir/../node_modules/react-native/android"
        }
    maven {
            url 'https://dl.bintray.com/kotlin/kotlin-dev/'
    }
  }
}   


1
  1. 아래 경로에서 현재 Kotlin 버전을 확인하세요.

    C : \ Program Files \ Android \ Android Studio \ gradle \ m2repository \ org \ jetbrains \ kotlin \ kotlin-stdlib \ 1.0.5

(1.0.5)프로젝트 수준 gradle 파일에서 해당 버전 으로 변경 하십시오.

위의 경로에서 Java를 언급하지 않았 jre version으므로 아래와 같이 앱 수준 gradle 파일에서 제거하십시오.

compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

1

build.gradle (프로젝트)

buildScript {
    ...
    dependencies {
        ...
        classpath 'com.android.tools.build:gradle:4.0.0-rc01'
    }
} 

gradle / wrapper / gradle-wrapper.properties

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

일부 라이브러리에는 업데이트 된 gradle이 필요합니다 . 예 :

androidTestImplementation "org.jetbrains.kotlinx:kotlinx-coroutines-test:$coroutines"

GL


0

(전 이적) 종속성이 여전히 jreKotlin 라이브러리의 jdk변형을 사용 하는 경우 해결 전략의 도움으로 변형을 강제로 사용할 수 있습니다 .

configurations.all {
    resolutionStrategy {
        eachDependency { DependencyResolveDetails details ->
            details.requested.with {
                if (group == "org.jetbrains.kotlin" && name.startsWith("kotlin-stdlib-jre")) {
                    details.useTarget(group: group, name: name.replace("jre", "jdk"), version: version)
                    details.because("Force use of 'kotlin-stdlib-jdk' in favor of deprecated 'kotlin-stdlib-jre'.")
                }
            }
        }
    }
}

0

간단한 단계 :

  1. 파일> 프로젝트 구조를 클릭하십시오.

  2. 종속성> 찾기 및 클릭 org.jetbrains.kotlin : kotlin-stdlib-jdk7 : 1.3.21 (또는 현재 버전이 무엇이든 상관 없음)

  3. 세부 정보> 업데이트 섹션에서 [변수 업데이트] [종속성 업데이트]를 클릭합니다.

  4. 확인을 클릭하십시오.

친애하는


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.