【问题标题】:Android Studio 3.0 - Unable to find method 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List'Android Studio 3.0 - 找不到方法“com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List”
【发布时间】:2017-10-17 23:20:53
【问题描述】:

尝试使用 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新项目没有这个问题。

【问题讨论】:

标签: android-studio kotlin


【解决方案1】:

在我的 build.gradle 变化中

ext.kotlin_version = '1.1.2-3'

ext.kotlin_version = '1.1.2-4'

解决了这个问题。

您可以找到最新版本here

【讨论】:

  • 在这里解决了!但是插件是1.1.2-3的版本,不是1.1.2-4,我能做什么?
  • @PedroPauloAmorim 我不确定这是否是 正确 答案,但是当我进入设置 > 插件并卸载 Kotlin 插件并重新启动时,它以 1.1 启动.2-4 安装。很奇怪,但可能是朝着正确方向迈出的一步。
  • 是的,只需删除插件并瞧
  • 我可以确认这适用于 android studio 3.0 canary 3,赞成
  • 奇怪,我刚下载 Android Studio 3 的时候就出现了这种情况。幸运的是我最终在这里找到了解决方案
【解决方案2】:

它对我有用

使用8.4.0版本

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

【讨论】:

    【解决方案3】:

    对于 Java

    删除

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

    butterknifeversion 降级为8.4.0

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

    别忘了删除

    apply plugin: 'me.tatarka.retrolambda'

    来自应用级构建 gradle。

    【讨论】:

      【解决方案4】:

      这是 Android Studio Preview 3.0 中的known issue

      如果您看到此错误,可能是您的 Kotlin 插件的预先存在版本与 Android Studio 3.0 中的新 Android Plugin for Gradle 不兼容。解决方案是删除旧的 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/

      【讨论】:

        【解决方案5】:

        在我的情况下,问题是因为我们应用了 butterknife-gradle-plugin。升级到 8.8.1 并不能解决问题,但删除它确实可以。

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

        【讨论】:

          【解决方案6】:

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

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

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2018-04-07
            • 2017-11-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2018-04-08
            • 2016-03-06
            相关资源
            最近更新 更多