web-dev-qa-db-fra.com

Kotlin compile "ERREUR: Le Android plugin Gradle ne prend en charge que le plugin Kotlin Gradle version 1.3.0 et supérieure." Mais pas de kotlin_version dans build.gradle?

J'ai essayé de cloner et de construire ce projet, https://github.com/mitrejcevski/ui-testing , mais en l'ouvrant dans Android Studio, j'obtiens ce qui suit erreur de construction:

ERROR: The Android Gradle plugin supports only Kotlin Gradle plugin version 1.3.0 and higher.
The following dependencies do not satisfy the required version:
root project 'ui-testing' -> org.jetbrains.kotlin:kotlin-gradle-plugin:1.2.21
Affected Modules: app

Cependant, lorsque je clique sur le lien hypertexte "app", je suis dirigé vers le niveau module build.gradle fichier, qui lit

apply plugin: 'com.Android.application'
apply plugin: 'kotlin-Android'
apply plugin: 'kotlin-Android-extensions'

Android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "nl.jovmit"
        minSdkVersion 19
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "Android.support.test.runner.AndroidJUnitRunner"
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-Android.txt'), 'proguard-rules.pro'
        }
    }

    productFlavors {
        mock {
            flavorDimensions "default"
        }
        prod {
            flavorDimensions "default"
        }
    }

    Android.variantFilter { variant ->
        if (variant.buildType.name == 'release' && variant.getFlavors().get(0).name == 'mock') {
            variant.setIgnore(true)
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation "com.Android.support:appcompat-v7:$support_version"
    implementation "com.Android.support:design:$support_version"
    implementation 'com.Android.support.constraint:constraint-layout:1.0.2'
    implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21'

    androidTestImplementation 'com.Android.support.test:runner:1.0.1'
    androidTestImplementation 'com.Android.support.test.espresso:espresso-core:3.0.1'

    testImplementation 'junit:junit:4.12'
}

Contrairement à la réponse acceptée de ERREUR: le Android Gradle ne prend en charge que le plug-in Kotlin Gradle version 1.3.0 et supérieure , je ne vois aucun ext.kotlin_version n'importe où dans le fichier Gradle.

Je vois cet avertissement, cependant, que kotlin-stdlib-jre7 est obsolète:

enter image description here

Cependant, j'ai essayé de changer cela, mais j'obtiens toujours la même erreur. J'ai aussi essayé d'ajouter la ligne

implementation 'org.jetbrains.kotlin:kotlin-gradle-plugin:1.3.21'

à dependencies (comme le montre la capture d'écran ci-dessus), mais cela n'a pas non plus empêché l'erreur.

Une idée de comment résoudre ce problème? Je soupçonne que la version obsolète de Kotlin est une "sous-dépendance" de l'une des dépendances ici, mais je n'ai pas pu déterminer laquelle.

13
Kurt Peek

Accédez simplement au fichier de construction de votre projet et modifiez ce qui suit

 buildscript {
  ext {
kotlin_version = '1.3.10'
support_version = '28.0.0-rc02'
room_version = '1.1.1'
Arch_comp_version = '1.1.1'
  }
 }

Il suffit de mettre à jour la version de kotlin à la version 1.3.10 ou supérieure.

0
Syeda