Android Studio 3.0 - не вдається знайти метод 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List'


98

При спробі запустити новий проект Kotlin з Android Studio 3.0 Canary 1 відображається ця помилка. Повний слід:

Помилка: неможливо знайти метод 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;'. Можливі причини цієї несподіваної помилки включають:

  • Кеш залежності залежності від Gradle може бути пошкодженим (це іноді виникає після закінчення часу з’єднання з мережею.) Повторно завантажте залежності та синхронізуйте проект (потрібна мережа)
  • Стан процесу побудови (демон) Gradle може бути пошкодженим. Зупинення всіх демонів Gradle може вирішити цю проблему. Зупинити процеси збирання Gradle (вимагає перезавантаження)
  • Ваш проект може використовувати плагін сторонніх розробників, який не сумісний з іншими плагінами проекту або версією Gradle, яку вимагає проект.
У разі пошкоджених процесів Gradle, ви також можете спробувати закрити IDE, а потім знищити всі процеси Java.

Я спробував перші два варіанти, а сторонні плагіни залишаються за замовчуванням.

gradle-wrapper.properties

#Thu May 18 08:36:52 BST 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.0-milestone-1-all.zip

build.gradle

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    ext.kotlin_version = '1.1.2-3'
    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha1'
        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 {
        jcenter()
        maven { url 'https://maven.google.com' }
        mavenCentral()
    }
}

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

Я жодного з цих значень я не торкнувся, вони залишаються за замовчуванням. Створення нового проекту, який не є Котліном, не має цієї проблеми.


Відповіді:


198

У моєму build.gradle змінюється

ext.kotlin_version = '1.1.2-3'

до

ext.kotlin_version = '1.1.2-4'

виправили це.

Ви можете знайти саму останню версію тут .


3
Тут вирішено! Але плагін є у версії 1.1.2-3, а не в тому 1.1.2-4, що я можу зробити?
Педро Пауло Аморім

5
@PedroPauloAmorim Я не впевнений, що це правильна відповідь, але коли я зайшов у Налаштування> Плагіни та видалив плагін Kotlin і перезапустив, він завантажився з встановленим 1.1.2-4. Дивний, але можливо крок у правильному напрямку.
Макс

1
Так, просто видаліть плагін і voilá
Педро Пауло Аморім

2
я можу підтвердити, що це працює на андроїд-студії 3.0 канарі 3, анульовано
Mohammed Elrashied

Дивно, це сталося зі мною зараз, коли я просто завантажив студію Android 3. На щастя, я опинився тут, щоб знайти рішення
JustADev


2

Для Java

Просто видаліть

classpath 'me.tatarka:gradle-retrolambda:3.7.0'

пониження butterknifeверсії до8.4.0

classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'

Не забудьте видалити

apply plugin: 'me.tatarka.retrolambda'

від рівня програми побудувати gradle.


1

Це відома проблема в Android Studio Preview 3.0:

Якщо ви бачите цю помилку, можливо, у вас є вже існуюча версія плагіна Kotlin, несумісна з новим Android-плагіном для Gradle, який знаходиться в Android Studio 3.0. Рішення - видалити старий плагін Kotlin.

Відкрийте build.gradleфайл на рівні проекту та знайдіть його ext.kotlin_version. Він повинен бути 1,1,2-4 (або вище). Якщо він показує більш стару версію, вам потрібно видалити старий плагін Kotlin, щоб він не перешкоджав версії, включеній в Android Studio 3.0.

У Windows він повинен розташовуватися за адресою

C:\Users\user_name\AndroidStudio_version\config\plugins\Kotlin\

На Mac загляньте

~/Library/Application\ Support/AndroidStudio_version/Kotlin/


1

Оновіть свою версію kotlin до останньої:

ext.kotlin_version = '1.1.2-4' //currently it's the latest version

Тоді ви можете зіткнутися з ще деякими помилками, тому перш ніж синхронізувати, переконайтеся, що ваш buildToolsVersion"26.0.2" або вище.


0

У моєму випадку ця проблема була викликана тим, що ми застосовували плагін-butterknife-gradle-plugin . Оновлення до 8.8.1 не усунуло проблему, але, безумовно, її усунули.

Build.gradle належить до застосування, так що я навіть не знаю , чому ми використовуємо цей плагін (я новачок в проекті)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.