Android Studio 3.0: no se puede encontrar el método 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List'


98

Intentar iniciar un nuevo proyecto de Kotlin con Android Studio 3.0 Canary 1 muestra este error. Seguimiento completo:

Error: no se puede encontrar el método 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs () Ljava / util / List;'. Las posibles causas de este error inesperado incluyen:

  • La memoria caché de dependencias de Gradle puede estar dañada (esto a veces ocurre después de un tiempo de espera de conexión de red). Vuelva a descargar las dependencias y sincronice el proyecto (requiere red)
  • El estado de un proceso de compilación de Gradle (demonio) puede estar dañado. Detener todos los demonios de Gradle puede resolver este problema. Detener los procesos de compilación de Gradle (requiere reiniciar)
  • Es posible que su proyecto esté usando un complemento de terceros que no es compatible con los otros complementos del proyecto o la versión de Gradle solicitada por el proyecto.
En el caso de procesos Gradle corruptos, también puede intentar cerrar el IDE y luego matar todos los procesos Java.

Probé las dos primeras opciones y los complementos de terceros quedan como predeterminados.

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
}

Yo mismo no he tocado ninguno de estos valores, se dejan como predeterminados. La creación de un nuevo proyecto que no sea de Kotlin no tiene este problema.


Respuestas:


198

En mi build.gradle cambiando

ext.kotlin_version = '1.1.2-3'

a

ext.kotlin_version = '1.1.2-4'

arregló esto.

Puede encontrar la versión más reciente aquí .


3
¡Resuelto aquí! Pero el complemento está en la versión 1.1.2-3, no en 1.1.2-4, ¿qué puedo hacer?
Pedro Paulo Amorim

5
@PedroPauloAmorim No estoy seguro de si esta es la respuesta correcta , pero cuando entré en Configuración> Complementos, desinstalé el complemento Kotlin y lo reinicié, se inició con 1.1.2-4 instalado. Extraño, pero posiblemente un paso en la dirección correcta.
Máximo

1
Sí, solo borra el plugin y voilá
Pedro Paulo Amorim

2
Puedo confirmar que esto funciona en android studio 3.0 canary 3, upvoted
Mohammed Elrashied

Extraño, esto sucedió a mí cuando me acaba de descargar estudio Android 3. Por suerte terminé aquí para encontrar la solución
JustADev

2

Funcionó para mi

Usando la versión 8.4.0

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

2

Para Java

Solo quitar

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

rebajar la butterknifeversión a8.4.0

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

No olvides quitar

apply plugin: 'me.tatarka.retrolambda'

desde el nivel de aplicación build gradle.


1

Este es un problema conocido en Android Studio Preview 3.0:

Si ve este error, es posible que tenga una versión preexistente del complemento Kotlin que sea incompatible con el nuevo complemento de Android para Gradle que está en Android Studio 3.0. La solución es eliminar el antiguo complemento de Kotlin.

Abra su build.gradlearchivo de nivel de proyecto y busque ext.kotlin_version. Debería ser 1.1.2-4 (o superior). Si muestra una versión anterior, debe eliminar el complemento antiguo de Kotlin para que no obstruya la versión incluida con Android Studio 3.0.

En Windows, debería estar ubicado en

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

En Mac, mira en

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


1

Actualice su versión de kotlin a la última:

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

Entonces puede enfrentar algunos errores más, así que antes de sincronizar nuevamente, asegúrese de que su buildToolsVersionsea ​​"26.0.2" o superior.


0

En mi caso, el problema se debió a que estábamos aplicando butterknife-gradle-plugin . La actualización a 8.8.1 no solucionó el problema, pero eliminarlo ciertamente lo hizo.

El build.gradle pertenece a la aplicación, así que no sé ni por qué estamos usando ese plugin (soy nuevo en el proyecto)

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.