Android Studio 3.0 - Tidak dapat menemukan metode 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List'

98

Mencoba memulai proyek Kotlin baru dengan Android Studio 3.0 Canary 1 akan menampilkan kesalahan ini. Jejak lengkap:

Kesalahan: Tidak dapat menemukan metode 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;'. Kemungkinan penyebab kesalahan yang tidak terduga ini meliputi:

  • Cache dependensi Gradle mungkin rusak (terkadang ini terjadi setelah waktu tunggu koneksi jaringan.) Mendownload ulang dependensi dan menyinkronkan project (memerlukan jaringan)
  • Status proses build Gradle (daemon) mungkin rusak. Menghentikan semua daemon Gradle dapat menyelesaikan masalah ini. Hentikan proses build Gradle (perlu dimulai ulang)
  • Proyek Anda mungkin menggunakan plugin pihak ketiga yang tidak kompatibel dengan plugin lain dalam proyek atau versi Gradle yang diminta oleh proyek.
Jika ada proses Gradle yang rusak, Anda juga dapat mencoba menutup IDE lalu menghentikan semua proses Java.

Saya sudah mencoba dua opsi pertama dan plugin pihak ketiga dibiarkan sebagai default.

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
}

Saya sendiri belum menyentuh nilai-nilai ini, mereka dibiarkan sebagai default. Membuat proyek baru non-Kotlin tidak memiliki masalah ini.

Josh Laird
sumber

Jawaban:

198

Dalam perubahan build.gradle saya

ext.kotlin_version = '1.1.2-3'

untuk

ext.kotlin_version = '1.1.2-4'

perbaiki ini.

Anda dapat menemukan versi terbaru di sini .

Josh Laird
sumber
3
Dipecahkan di sini! Tetapi plugin ini dalam versi 1.1.2-3, bukan aktif 1.1.2-4, apa yang dapat saya lakukan?
Pedro Paulo Amorim
5
@PedroPauloAmorim Saya tidak yakin apakah ini jawaban yang benar , tetapi ketika saya masuk ke Settings> Plugins dan menghapus plugin Kotlin dan memulai ulang, itu boot dengan 1.1.2-4 diinstal. Aneh, tapi mungkin satu langkah ke arah yang benar.
Maksimal
1
Ya, hapus saja plugin dan voilá
Pedro Paulo Amorim
2
saya dapat mengonfirmasi bahwa ini berfungsi pada android studio 3.0 canary 3, suara positif
Mohammed Elrashied
Aneh, ini terjadi pada saya sekarang ketika saya baru saja mengunduh Android studio 3. Untungnya saya berakhir di sini untuk menemukan solusinya
JustADev
2

Itu berhasil untuk saya

Menggunakan versi 8.4.0

 classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'  
Hanya penasaran
sumber
2

Untuk Java

Hapus saja

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

menurunkan butterknifeversi ke8.4.0

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

Jangan lupa untuk menghapusnya

apply plugin: 'me.tatarka.retrolambda'

dari tingkat aplikasi build gradle.

Aks4125
sumber
1

Ini adalah masalah umum di Android Studio Preview 3.0:

Jika Anda melihat kesalahan ini, kemungkinan Anda memiliki versi plugin Kotlin yang sudah ada yang tidak kompatibel dengan Android Plugin baru untuk Gradle yang ada di Android Studio 3.0. Solusinya adalah dengan menghapus plugin Kotlin yang lama.

Buka build.gradlefile tingkat proyek Anda dan temukan ext.kotlin_version. Ini harus 1.1.2-4 (atau lebih tinggi). Jika ini menunjukkan versi yang lebih lama, Anda perlu menghapus plugin Kotlin yang lama agar tidak menghalangi versi yang disertakan dengan Android Studio 3.0.

Di Windows, ini harus ditempatkan di

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

Di Mac, lihat

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

Renan Ferrari
sumber
1

Perbarui versi kotlin Anda ke yang terbaru:

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

Kemudian Anda mungkin menghadapi beberapa kesalahan lagi, jadi sebelum menyinkronkan lagi, pastikan Anda buildToolsVersionmemiliki "26.0.2" atau lebih tinggi.

Senja
sumber
0

Dalam kasus saya, masalahnya disebabkan karena kami menerapkan plugin butterknife-gradle . Mengupgrade ke 8.8.1 tidak memperbaiki masalah, tetapi menghapusnya pasti berhasil.

The build.gradle milik aplikasi, jadi saya bahkan tidak tahu mengapa kita menggunakan plugin (Aku baru untuk proyek)

Maragues
sumber