Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

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

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

app/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"
        }
    }
}

How to solve issue:

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

Possible causes for this unexpected error include: Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.) Re-download dependencies and sync project (requires network) The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem. Stop Gradle build processes (requires restart) Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project. In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

like image 738
NickUnuchek Avatar asked Oct 26 '17 07:10

NickUnuchek


1 Answers

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

like image 144
ElliotM Avatar answered Nov 15 '22 18:11

ElliotM