Android Studio 3.0 - nie można znaleźć metody „com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List”

98

Próba uruchomienia nowego projektu Kotlin z Android Studio 3.0 Canary 1 wyświetla ten błąd. Pełny ślad:

Błąd: nie można znaleźć metody „com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;”. Możliwe przyczyny tego nieoczekiwanego błędu to:

  • Pamięć podręczna zależności Gradle może być uszkodzona (czasami zdarza się to po przekroczeniu limitu czasu połączenia sieciowego). Ponownie pobierz zależności i zsynchronizuj projekt (wymaga sieci)
  • Stan procesu budowania Gradle (demona) może być uszkodzony. Zatrzymanie wszystkich demonów Gradle może rozwiązać ten problem. Zatrzymaj procesy kompilacji Gradle (wymaga ponownego uruchomienia)
  • Twój projekt może wykorzystywać wtyczkę innej firmy, która nie jest kompatybilna z innymi wtyczkami w projekcie lub z wersją Gradle wymaganą przez projekt.
W przypadku uszkodzonych procesów Gradle możesz również spróbować zamknąć IDE, a następnie zabić wszystkie procesy Java.

Wypróbowałem dwie pierwsze opcje, a wtyczki innych firm są domyślnie pozostawione.

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
}

Sam nie dotknąłem żadnej z tych wartości, są one domyślne. Tworzenie nowego projektu innego niż Kotlin nie ma tego problemu.

Josh Laird
źródło

Odpowiedzi:

198

W mojej zmianie build.gradle

ext.kotlin_version = '1.1.2-3'

do

ext.kotlin_version = '1.1.2-4'

naprawiono to.

Najnowszą wersję można znaleźć tutaj .

Josh Laird
źródło
3
Rozwiązany tutaj! Ale wtyczka jest na wersji 1.1.2-3, a nie na 1.1.2-4, co mogę zrobić?
Pedro Paulo Amorim
5
@PedroPauloAmorim Nie jestem pewien, czy to jest właściwa odpowiedź, ale kiedy wszedłem do Ustawienia> Wtyczki i odinstalowałem wtyczkę Kotlin i uruchomiłem ponownie, uruchomił się z zainstalowaną wersją 1.1.2-4. Dziwne, ale prawdopodobnie krok we właściwym kierunku.
Maksymalnie
1
Tak, po prostu usuń wtyczkę i voilá
Pedro Paulo Amorim
2
mogę potwierdzić, że to działa na Android Studio 3.0 Canary 3, głosowano za
Mohammed Elrashied,
Dziwne, przydarzyło mi się to teraz, kiedy właśnie
pobrałem
2

U mnie to zadziałało

Korzystanie z wersji 8.4.0

 classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'  
Po prostu ciekawy
źródło
2

W przypadku języka Java

Po prostu usuń

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

obniżyć butterknifewersję do8.4.0

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

Nie zapomnij usunąć

apply plugin: 'me.tatarka.retrolambda'

z poziomu kompilacji aplikacji.

Aks4125
źródło
1

Jest to znany problem w Android Studio Preview 3.0:

Jeśli widzisz ten błąd, możliwe, że masz już istniejącą wersję wtyczki Kotlin, która jest niekompatybilna z nową wtyczką Android dla Gradle, która jest w Android Studio 3.0. Rozwiązaniem jest usunięcie starej wtyczki Kotlin.

Otwórz build.gradleplik na poziomie projektu i zlokalizuj ext.kotlin_version. Powinien być 1.1.2-4 (lub wyższy). Jeśli pokazuje starszą wersję, musisz usunąć starą wtyczkę Kotlin, aby nie blokowała wersji dołączonej do Android Studio 3.0.

W systemie Windows powinien znajdować się pod adresem

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

Na komputerze Mac zajrzyj do środka

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

Renan Ferrari
źródło
1

Zaktualizuj swoją wersję Kotlin do najnowszej:

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

Wtedy możesz napotkać więcej błędów, więc przed ponowną synchronizacją upewnij się, że masz wartość buildToolsVersion„26.0.2” lub wyższą.

Zmierzch
źródło
0

W moim przypadku problem był spowodowany zastosowaniem wtyczki Butterknife-Gradle-Plugin . Aktualizacja do 8.8.1 nie rozwiązała problemu, ale usunięcie go z pewnością tak.

Plik build.gradle należy do aplikacji, więc nawet nie wiem, dlaczego używamy tej wtyczki (jestem nowy w projekcie)

Maragues
źródło