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.