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:
W przypadku uszkodzonych procesów Gradle możesz również spróbować zamknąć IDE, a następnie zabić wszystkie procesy Java.
- 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.
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.
android-studio
kotlin
Josh Laird
źródło
źródło
Odpowiedzi:
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 .
źródło
1.1.2-3
, a nie na1.1.2-4
, co mogę zrobić?U mnie to zadziałało
Korzystanie z wersji 8.4.0
źródło
W przypadku języka Java
Po prostu usuń
obniżyć
butterknife
wersję do8.4.0
Nie zapomnij usunąć
apply plugin: 'me.tatarka.retrolambda'
z poziomu kompilacji aplikacji.
źródło
Jest to znany problem w Android Studio Preview 3.0:
źródło
Zaktualizuj swoją wersję Kotlin do najnowszej:
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ą.źródło
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)
źródło