Компиляция Kotlin «ОШИБКА: плагин Android Gradle поддерживает только плагин Kotlin Gradle версии 1.3.0 и выше».но нет kotlin_version в build.gradle? - PullRequest
0 голосов
/ 25 февраля 2019

Я попытался клонировать и построить этот проект, https://github.com/mitrejcevski/ui-testing,, но при открытии его в Android Studio я получаю следующую ошибку сборки:

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

Однако, когда я нажимаю «приложение»гиперссылка Меня ведут на файл build.gradle уровня модуля, который читает

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'
}

В отличие от принятого ответа ОШИБКА: плагин Android Gradle поддерживает только плагин Kotlin Gradle версии 1.3.0 и выше, я не вижу никаких ext.kotlin_version в файле Gradle.

Однако я вижу это предупреждение, что kotlin-stdlib-jre7 устарело:

enter image description here

Однако я попытался изменить это, но все равно получаю ту же ошибку.Я также попытался добавить строку

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

к dependencies (как видно на скриншоте выше), но это также не предотвратило ошибку.

Любая идея, какпочини это?Я подозреваю, что устаревшая версия Kotlin является «зависимостью» одной из зависимостей, но не смогла выяснить, какая из них.

Ответы [ 4 ]

0 голосов
/ 18 июля 2019
  1. Перейти к Инструменты> SDK Manager> Kotlin
  2. Установить новую версию плагина
  3. Убедитесь, что ваш уровень проекта build.gradle выглядит как показано ниже
buildscript {
    ext.kotlin_version = '1.3.10' //put the version you just updated to
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.4.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
0 голосов
/ 25 февраля 2019

Определите ваш ext.kotlin_version

Ваш уровень проекта build.gradle должен выглядеть следующим образом.

buildscript {
    ext.kotlin_version = '1.2.51'
    ext.android_plugin_version = '3.2.1'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath "com.android.tools.build:gradle:$android_plugin_version"
        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
    }
}
0 голосов
/ 12 мая 2019

Я тоже столкнулся с этой проблемой и исправил ее следующим образом:

  • На уровне проекта build.gradle у меня ext.kotlin_version = '1.3.10'

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

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

task clean(type: Delete) {
    delete rootProject.buildDir
}

ext {
    roomVersion = '1.0.0'
    archLifecycleVersion = '1.1.0'
}
  • Затем на уровне приложения build.gradle я обновил свои зависимости так, чтобы: implementation"org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"

Я собрал, и все снова заработало нормально.

0 голосов
/ 25 февраля 2019

Изменение

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

вместо

org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...