无法找到方法'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'

Nic*_*hek 8 android build.gradle android-gradle-plugin butterknife

的build.gradle

buildscript {
    ext.kotlin_version = '1.1.51'
    repositories {
        jcenter()
        mavenCentral()
        maven { url "https://jitpack.io" }
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0'
        classpath 'me.tatarka:gradle-retrolambda:3.6.1'
        classpath 'com.google.gms:google-services:3.1.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}
Run Code Online (Sandbox Code Playgroud)

应用程序/的build.gradle

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0'
    }
}


      android{
            compileSdkVersion = 26  
            buildToolsVersion = "26.0.2"
    defaultConfig {
            minSdkVersion = 16
            targetSdkVersion = 26

        }
    ...
    applicationVariants.all { variant ->

        variant.outputs.all { output ->
            outputFileName = "newApkName.apk"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何解决问题:

Unable to find method 'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'.
Run Code Online (Sandbox Code Playgroud)

此意外错误的可能原因包括:Gradle的依赖性缓存可能已损坏(这有时会在网络连接超时后发生.)重新下载依赖项和同步项目(需要网络)Gradle构建过程(守护程序)的状态可能已损坏.停止所有Gradle守护进程可以解决此问题.停止Gradle构建过程(需要重新启动)您的项目可能正在使用第三方插件,该插件与项目中的其他插件或项目请求的Gradle版本不兼容.在损坏的Gradle进程的情况下,您还可以尝试关闭IDE,然后终止所有Java进程.

Ell*_*otM 11

我有同样的错误与gradle同步,特别是与butterknife绑定,我的解决方案通过解决

https://github.com/JakeWharton/butterknife/issues/963#issuecomment-339545297

tldr在你的项目构建文件中......

buildscript{
 repositories {
   //other repos will likely exist here like jcenter and mavenCentral

   //add this closure
   maven {
    url "https://oss.sonatype.org/content/repositories/snapshots"
   }
  }
   dependencies {
    classpath 'com.jakewharton:butterknife-gradle-plugin:8.7.0'
    classpath 'com.android.tools.build:gradle:3.0.0'
    //change your version to 9.0.0-SNAPSHOT
     classpath 'com.jakewharton:butterknife-gradle-plugin:9.0.0-SNAPSHOT'
    //.. other project level dependencies 
   }
 }
}
Run Code Online (Sandbox Code Playgroud)

还要确保您的allproject包含

allproject{
  repositories{
    maven {
      //this
      url "https://oss.sonatype.org/content/repositories/snapshots"
    }
   }
 }
Run Code Online (Sandbox Code Playgroud)

然后没有butterknife有关的问题是正在增加我buildToolsVersions"26.0.2"你的应用程序构建文件

更新4/19/2018从那时起就开始与butterknife分道扬山,因为它引起了比我使用的任何其他第三方更多的问题.此外,在完整的Kotlin支持下,没有必要使用奶油刀