Android Studio 3.0 - 无法找到方法' com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util / List'

时间:2017-05-18 08:41:26

标签: android-studio kotlin

尝试使用Android Studio 3.0 Canary 1启动新的Kotlin项目会显示此错误。完整跟踪:

  

错误:无法找到方法   ' com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util的/列表;&#39 ;.   导致此意外错误的可能原因包括:

  • Gradle&#39>   依赖性缓存可能已损坏(这有时会发生在网络之后)   连接超时。)重新下载依赖项   和同步项目(需要网络)
  • Gradle的状态   构建进程(守护进程)可能已损坏。停止所有Gradle守护进程可能   解决这个问题。停止Gradle构建   进程(需要重新启动)
  • 您的项目可能正在使用   与其他插件不兼容的第三方插件   项目或Gradle要求的版本   项目。
对于损坏的Gradle流程,您可以   还尝试关闭IDE然后终止所有Java进程。

我已尝试过前两个选项,第三方插件默认保留。

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
}

我自己也没有触及任何这些价值观,他们将其视为违约。创建一个非Kotlin新项目没有这个问题。

6 个答案:

答案 0 :(得分:196)

在我的 build.gradle 更改

ext.kotlin_version = '1.1.2-3'

ext.kotlin_version = '1.1.2-4'

解决了这个问题。

您可以找到最新版本here

答案 1 :(得分:3)

For Java

只需删除

  

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

butterknife版本降级为8.4.0

  

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

别忘了删除

apply plugin: 'me.tatarka.retrolambda'

来自app level build gradle。

答案 2 :(得分:2)

它对我有用

使用8.4.0版本

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

答案 3 :(得分:1)

这是Android Studio预览版3.0中的known issue

  

如果你看到这个错误,你可能有一个预先存在的Kotlin插件版本,它与Android Studio 3.0中新的Gradle Android插件不兼容。解决方案是删除旧的Kotlin插件。

     

打开项目级build.gradle文件,找到ext.kotlin_version。它应该是1.1.2-4(或更高)。如果它显示旧版本,则需要删除旧的Kotlin插件,以免妨碍Android Studio 3.0附带的版本。

     

在Windows上,它应位于

     

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

     

在Mac上,查看

     

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

答案 4 :(得分:1)

将您的kotlin版本更新为最新版本:

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

然后您可能会遇到更多错误,因此在再次同步之前,请确保您的buildToolsVersion是" 26.0.2"或更高。

答案 5 :(得分:0)

在我的情况下,问题是由于我们正在应用 butterknife-gradle-plugin 引起的。升级到8.8.1并没有解决问题,但删除它确实没有。

build.gradle 属于该应用程序,因此我甚至不知道为什么我们使用该插件(我是该项目的新手)