kotlin-stdlib-jre7 is deprecated. Please use kotlin-stdlib-jdk7 instead

前端 未结 5 1097
你的背包
你的背包 2020-12-01 13:24

Yesterday I updated Android Studio Version and Kotlin plugin version.

Android Studio Version: 3.1.2

Kotlin Version: 1.2.41

When I create an Android p

相关标签:
5条回答
  • 2020-12-01 14:13

    Important Update

    Must check JDK version before setting config

    Kotlin gradle config page has detailed information about this.

    First of all check your kotlin version in gradle file.

    if (kotlin_version == '1.2.x' ) (Use jdk NOT jre)

    First check your jdk version in File > Project Structure.

    Or check in build.gradle

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    

    if (jdk_version == 1.8)

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

    if (jdk_version == 1.7)

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

    if (jdk_version is < 1.7)

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

    else if(NO jdk version is set in Project Structure)

    if(Android_Studio_Version < 2.2.1){
       your_jdk_version = 1.7;
    }
    else {
       your_jdk_version = 1.8;
    }
    

    Because Android Studio is bundled with jdk 1.8 since 2.2.1 version.

    2. else if ( kotlin_version == '1.1.x') (Use jre NOT jdk)

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

    Update Kotlin Version?

    You can update Kotlin version from Tools > Kotlin > Configure Kotlin Updates

    0 讨论(0)
  • 2020-12-01 14:14

    Something is transitively importing those libraries. Run Gradle task dependencies to figure out what.

    In my case, it was io.vertx:vertx-lang-kotlin-coroutines:3.5.1.

    If there is no update for the dependency, there is not much you can do about it

    0 讨论(0)
  • 2020-12-01 14:15

    Go to Tools > Kotlin > Configure Kotlin Plugin Updates and check for updates then in your app gradle file replace jre with jdk

    implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    
    0 讨论(0)
  • 2020-12-01 14:15

    After reading Kotlin Gradle Script Topic I find out that some ponits

    If you're targeting JDK 7 or JDK 8, you can use extended versions of the Kotlin standard library which contain additional extension functions for APIs added in new JDK versions. Instead of kotlin-stdlib, use one of the following dependencies:

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

    I used implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8" in my project. I think it's because of compileOptions set in build.graddle

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    
    0 讨论(0)
  • 2020-12-01 14:16

    You must swap the codes below:

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

    Not jre > jdk

         implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    
    0 讨论(0)
提交回复
热议问题