Android Studio 3.0 - Impossibile trovare il metodo "com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List"


98

Il tentativo di avviare un nuovo progetto Kotlin con Android Studio 3.0 Canary 1 visualizza questo errore. Traccia completa:

Errore: impossibile trovare il metodo "com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;". Le possibili cause di questo errore imprevisto includono:

  • La cache delle dipendenze di Gradle potrebbe essere danneggiata (questo a volte si verifica dopo un timeout della connessione di rete). Scarica nuovamente le dipendenze e sincronizza il progetto (richiede la rete)
  • Lo stato di un processo di compilazione Gradle (daemon) potrebbe essere danneggiato. Fermare tutti i demoni Gradle potrebbe risolvere questo problema. Interrompi i processi di compilazione Gradle (richiede il riavvio)
  • Il tuo progetto potrebbe utilizzare un plug-in di terze parti non compatibile con gli altri plug-in del progetto o la versione di Gradle richiesta dal progetto.
In caso di processi Gradle corrotti, puoi anche provare a chiudere l'IDE e quindi a uccidere tutti i processi Java.

Ho provato le prime due opzioni e i plugin di terze parti vengono lasciati come predefiniti.

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
}

Non ho toccato nessuno di questi valori da solo, sono lasciati come predefiniti. La creazione di un nuovo progetto non Kotlin non presenta questo problema.


Risposte:


198

Nel mio build.gradle sta cambiando

ext.kotlin_version = '1.1.2-3'

per

ext.kotlin_version = '1.1.2-4'

risolto questo problema.

Puoi trovare la versione più recente qui .


3
Risolto qui! Ma il plugin è in versione 1.1.2-3, non in versione 1.1.2-4, cosa posso fare?
Pedro Paulo Amorim

5
@PedroPauloAmorim Non sono sicuro che questa sia la risposta giusta , ma quando sono andato in Impostazioni> Plugin e ho disinstallato il plug-in Kotlin e riavviato, si è avviato con 1.1.2-4 installato. Strano, ma forse un passo nella giusta direzione.
Max

1
Sì, elimina il plug-in e voilá
Pedro Paulo Amorim,

2
posso confermare che questo funziona su Android Studio 3.0 canary 3, votato positivamente
Mohammed Elrashied

Strano, mi è successo adesso quando ho appena scaricato Android Studio 3. Fortunatamente sono finito qui per trovare la soluzione
JustADev

2

Ha funzionato per me

Utilizzando la versione 8.4.0

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

2

Per Java

Basta rimuovere

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

downgrade della butterknifeversione a8.4.0

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

Non dimenticare di rimuovere

apply plugin: 'me.tatarka.retrolambda'

dal livello di app build gradle.


1

Questo è un problema noto in Android Studio Preview 3.0:

Se visualizzi questo errore, è possibile che tu abbia una versione preesistente del plug-in Kotlin che non è compatibile con il nuovo plug-in Android per Gradle presente in Android Studio 3.0. La soluzione è eliminare il vecchio plugin Kotlin.

Apri il build.gradlefile a livello di progetto e individua ext.kotlin_version. Dovrebbe essere 1.1.2-4 (o superiore). Se mostra una versione precedente, è necessario eliminare il vecchio plug-in Kotlin in modo che non ostacoli la versione inclusa con Android Studio 3.0.

Su Windows, dovrebbe trovarsi in

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

Su Mac, guarda dentro

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


1

Aggiorna la tua versione di kotlin all'ultima:

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

Quindi potresti buildToolsVersionriscontrare altri errori, quindi prima di sincronizzare nuovamente, assicurati che il tuo sia "26.0.2" o successivo.


0

Nel mio caso, il problema è stato causato perché stavamo applicando il plugin butterknife-gradle . L'aggiornamento a 8.8.1 non ha risolto il problema, ma rimuoverlo sicuramente lo ha fatto.

Il build.gradle appartiene all'applicazione, quindi non so nemmeno perché stiamo usando quel plugin (sono nuovo nel progetto)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.