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


98

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

错误:找不到方法'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util / List;'。此意外错误的可能原因包括:

  • Gradle的依赖项缓存可能已损坏(这有时会在网络连接超时后发生。)重新下载依赖项并同步项目(需要网络)
  • 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新项目不会出现此问题。


Answers:


198

在我的build.gradle更改中

ext.kotlin_version = '1.1.2-3'

ext.kotlin_version = '1.1.2-4'

解决这个问题。

您可以在此处找到最新版本。


3
在这里解决!但是插件在版本上1.1.2-3,而不在上1.1.2-4,我该怎么办?
佩德罗·保罗·阿莫里姆

5
@PedroPauloAmorim我不确定这是否是正确的答案,但是当我进入“设置”>“插件”并卸载Kotlin插件并重新启动时,它在安装1.1.2-4的情况下启动。很奇怪,但可能是朝正确方向迈出的一步。
Max

1
是啊,只要删除插件,瞧
佩德罗·保罗·阿莫里姆

2
我可以确认在android studio 3.0 canary 3上进行了此项工作,对此进行了投票
Mohammed Elrashied

奇怪的是,当我刚下载Android studio 3时,这件事发生在我身上。幸运的是,我最终在这里找到了解决方案
JustADev

2

对我有用

使用8.4.0版本

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

2

对于Java

只需删除

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

降级butterknife8.4.0

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

别忘了删除

apply plugin: 'me.tatarka.retrolambda'

从应用程序级别构建gradle。


1

这是Android Studio Preview 3.0中的一个已知问题

如果看到此错误,则可能是您已有的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/


1

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

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

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


0

就我而言,此问题是由于我们正在应用butterknife-gradle-plugin引起的。升级到8.8.1并不能解决问题,但是删除它肯定可以解决。

的build.gradle属于应用程序,所以我甚至不知道为什么,我们正在使用的插件(我是新来的项目)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.