Avviso di runtime Kotlin obsoleto in Android Studio


160

Dopo aver scaricato e installato il plug-in Kotlin più recente, ho un avviso di runtime Kotlin obsoleto da Android Studio che mi dice:

La tua versione del runtime di Kotlin nella libreria 'kotlin-stdlib-1.1.2' è 1.1.2, mentre la versione del plugin è 1.1.2-release-Studio2.3-3. La libreria di runtime deve essere aggiornata per evitare problemi di compatibilità.

Ho provato a fare clic sul pulsante Aggiorna runtime ma ho ricevuto un altro messaggio:

L'aggiornamento automatico della versione della libreria per i progetti Gradle non è attualmente supportato. Aggiorna manualmente build.gradle.

Come risolvere questo problema?

Risposte:


142

Puoi aggiornare la tua versione di Kotlin nel build.gradlefile a livello di progetto . Se lo hai configurato nel solito modo, dovresti avere la seguente riga in alto:

ext.kotlin_version = '1.1.2'

Per eseguire l'aggiornamento alla versione corrispondente al tuo plug-in, modifica semplicemente questa riga in:

ext.kotlin_version = '1.1.2-3'

Modifica (per rispondere a una domanda di seguito):

L'errore ti dice che devi aggiornare la tua versione, la domanda è dove scoprire che devi inserire 1.1.2-3invece di dire, per esempio 1.1.2-release-Studio2.3-3.

Il modo migliore per scoprire l'ultima versione di Kotlin è andare su kotlinlang.org e cercare "Ultima versione". Dovrebbe essere proprio lì in prima pagina.

Un'altra cosa da fare se il numero di versione non è banale in questo modo è controllare i repository in cui sono ospitate le versioni. Nel caso di Android, probabilmente lo otterrai da jcenter, per il quale puoi trovare la pagina del repository , che ha tutte le versioni disponibili elencate.

Puoi anche sfogliare il repository raw maven di jcenter in cui i file sono effettivamente ospitati andando qui , o cercare Kotlin su mvnrepository o su mavencentral (versione grezza di quest'ultimo qui ).


1
Grazie, questo non è affatto chiaro dall'errore. Come posso derivare cosa fare, come l'hai scoperto?
Ragazzo,

Brillante! Sto ignorando questo avviso da un po 'di tempo perché non sono riuscito a trovare come farlo.
Swindler,

1
Per chiunque come me, ci sono due "build.gradle" nel tuo progetto, assicurati di aver controllato il file a livello di progetto.
Ihab Shoully,


139

Nel tuo (Project: [projectName]) build.gradlefile trova questo: ext.kotlin_version = 'x.x.x'e sostituisci xxx con la versione corrente del tuo plugin Kotlin. inserisci qui la descrizione dell'immagine

Per verificare qual è la versione corrente del tuo plugin Kotlin:

  1. Vai a: Strumenti -> Kotlin -> Aggiornamenti del plugin Confugure Kotlin

  2. Fai clic su "Verifica ancora". Dopo un secondo vedrai la versione del tuo plugin Kotlin. (Se non aggiornato, il tuo plugin Kotlin verrà aggiornato.) inserisci qui la descrizione dell'immagine inserisci qui la descrizione dell'immagine

NB: controlla anche il tuo (Module: app) build.gradlefile e assicurati di non usare:

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:1.2.21" 

ma

compile 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.2.40'

Nota la differenza "... jre7 ..." -> "... jdk7 ...". Sostituisci anche "1.2.40" con la tua attuale versione del plugin Kotlin.


Grazie per avermi aiutato ad aggiornare il mio plugin Koltin facendo Strumenti-> Kotlin -> Configura aggiornamenti Kotlin-> Controlla aggiornamenti-> Installa.
Shylendra Madda,

Questa dovrebbe essere una risposta accettata !! Sto usando Android Studio 3.1.3, ho avuto lo stesso problema di OP
Ajay Kulkarni il

ricordati di usare 1.3.31
Raju yourPepe

11

si è lamentato (su Android Studio 3.0.1) ... molto probabilmente a causa delle dipendenze delle librerie referenziate:

La tua versione del runtime di Kotlin nella libreria 'org.jetbrains.kotlin: kotlin-stdlib: 1.1.3@jar' è la 1.1.3, mentre la versione del plugin è la 1.1.51-release-Studio3.0-1.

poi ho imposto la costruzione contro la versione richiesta, a livello di modulo build.gradle:

configurations.all() {
    resolutionStrategy.force 'org.jetbrains.kotlin:kotlin-stdlib:1.1.51'
}

e il risultato è:

./gradlew app:dependencies | grep kotlin
Download https://jcenter.bintray.com/org/jetbrains/kotlin/kotlin-stdlib/1.1.51/kotlin-stdlib-1.1.51.pom
 |    |    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 -> 1.1.51
 ...

6

Ci sono due pezzi che potresti voler aggiornare:

  1. runtime di kotlin per il progetto
  2. plugin kotlin

La risposta di Ivo Stoyanov mostra come farlo utilizzando i menu di Android Studio. Quando ho ricevuto il messaggio di errore e l'ho provato da solo (aggiornando il plugin kotlin), mi sono comunque lamentato del runtime di kotlin. Puoi aggiornarlo su un progetto in base al progetto, aggiungendo la riga su ext.kotlin_version al livello di creazione del progetto, come indicano alcune delle altre risposte. Ma dovrai conoscere la versione runtime di kotlin per questo. In alternativa, puoi anche farlo attraverso i menu, come mostrerò qui sotto, con il bonus che Android Studio ti mostra le versioni disponibili e puoi scegliere le più recenti.

passo 1

passo 2

passaggio 3

passaggio 4

E poi Android Studio aggiungerà la riga appropriata nel gradle di compilazione del progetto.


3

cambiando ext.kotlin_version da '1.1.2-4' a ext.kotlin_version = '1.1.2-5' ho risolto il problema per me


il plugin kotlin non supporta l'aggiornamento automatico dei plugin ?? mostra di aggiornare manualmente la
pendenza

4
mostra "La tua versione del runtime di Kotlin nella libreria 'kotlin-stdlib-1.1.2-5' è 1.1.2-5, mentre la versione del plugin è 1.1.3-release-Studio2.3-1. La libreria di runtime deve essere aggiornata a evitare problemi di compatibilità ". .... cosa dovrei fare adesso.
Devil10,

cambiando ext.kotlin_version da "1.1.2-5" a ext.kotlin_version = "1.1.3-1"
Beatrice Lin,

2

l'ultima versione di kotlin è la 1.2.41, usa questo e sincronizza il tuo progetto.

buildscript {
ext.kotlin_version = '1.2.41'
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    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
}
}

1
Ora è l'1.5.51 del 5 luglio; vedi la mia risposta per un modo semplice per vedere qual è l'ultima versione.
auspicious99

2

A partire dall'8 marzo 2019 l'attuale versione di kotlin'1.3.21'

Sotto build.gradle

buildscript {
   ext.kotlin_version = '1.3.21'
   repositories {
      google()
      jcenter()
   }
   dependencies {
      classpath 'com.android.tools.build:gradle:3.3.2'
      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
}

Saluti


1

Questo problema si verifica quando si aggiorna la versione del plugin kotlin spuntata da Android Studio, ma il problema è che la versione corrente di Android Studio non è in grado di modificare dinamicamente il plugin Gradle di Kotlin che si trova nel file Build.gradle a livello di progetto .

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

Come risolvere questo problema?

Quindi devi cambiare manualmente questa versione, puoi trovarla qui


Il runtime di kotlin e il plugin kotlin sono diversi. La domanda era sul messaggio di errore che chiedeva di aggiornare il runtime di kotlin.
auspicious99

1

Ho riscontrato questo problema alcune volte in Android Studio e IDEA, ho scoperto che se vai nel file Gradle dei tuoi progetti e nelle tue dipendenze se imposti la versione di kotlin-gradle-pluginsu, $kotlin_versionil messaggio di avviso ti dirà quale versione devi impostato ext.kotlin_versionsu.

buildscript {
ext.kotlin_version = '1.2.40'
repositories {
    google()
    jcenter()
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.1.2'
    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
}
}

inserisci qui la descrizione dell'immagine


1
buildscript {
    ext.kotlin_version = '1.2.50'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.2'
        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
    }
}

1

cerca queste due righe di codice

ext.kotlin_version = '1.3.11'

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

sostituire $ kotlin_version con il valore reale (qui è 1.3.11)

classpath "org.jetbrains.kotlin: kotlin-gradle-plugin: 1.3.11"

dopo questo il tuo IDE ti suggerirà automaticamente la versione aggiornata

buona programmazione :)


0

Kotlin ultima versione:

buildscript {
    ext.kotlin_version = '1.2.41'

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
        classpath 'com.google.gms:google-services:1.5.0-beta2'


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

Ora è l'1.5.51 del 5 luglio; vedi la mia risposta per un modo semplice per vedere qual è l'ultima versione.
auspicious99

0

Un po 'fastidioso ma lo studio si comporta in questo modo alcune volte. I passaggi seguenti possono risolvere il problema.

Vai a

Impostazioni -> Build, Execution, Development -> Gradle -> Usa wrapper gradle predefinito (consigliato)

cambialo in Usa locale e torna a Usa predefinito. Studio chiederà informazioni sull'aggiornamento della pendenza dopo aver chiuso le finestre delle impostazioni.


0

Stavo affrontando lo stesso problema dopo l'aggiornamento del mio studio Android dalla 3.0.1 alla 3.2.1.Il mio problema è stato risolto dopo averlo utilizzato.

buildscript {
ext.kotlin_version = '1.2.51'
repositories {
    google()
    jcenter()
    mavenCentral()
    maven { url "https://jitpack.io" }
}
dependencies {
    classpath 'com.android.tools.build:gradle:3.2.1'
    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
}

}


-1

Avevo affrontato questo problema sull'ultimo Android Studio del canale delle Canarie. Potresti prendere in considerazione anche il downgrade di Android Studio alla versione stabile.

È successo per me su Android Studio 3.0 RC1.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.