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

I had the same error with gradle syncing, specifically tied to butterknife, my solution was solved via

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

tldr in your project build file...

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 
   }
 }
}

Also make sure your allproject includes

allproject{
  repositories{
    maven {
      //this
      url "https://oss.sonatype.org/content/repositories/snapshots"
    }
   }
 }

And then the none butterknife related issue was upping my buildToolsVersions to "26.0.2" in your app build file

UPDATE 4/19/2018 Have since parted ways with butterknife as it has since caused more issues than any other 3rd party I've used. Besides, with full Kotlin support, butterknife isn't necessary