Android Studio 3.0 - Unable to find method 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List'

匿名 (未验证) 提交于 2019-12-03 01:49:02

问题:

Trying to start a new Kotlin project with Android Studio 3.0 Canary 1 displays this error. Full trace:

Error:Unable to find method 'com.android.build.gradle.internal.variant.BaseVariantData.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.

I've tried the first two options and the third-party plugins are left as default.

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 } 

I haven't touched any of these values myself, they're left as default. Creating a non-Kotlin new project does not have this problem.

回答1:

In my build.gradle changing

ext.kotlin_version = '1.1.2-3'

to

ext.kotlin_version = '1.1.2-4'

fixed this.

(as of November 2017, the current Kotlin version is 1.1.60)



回答2:

For Java

Just remove

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

downgrade butterknifeversion to 8.4.0

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

Don't forget to remove

apply plugin: 'me.tatarka.retrolambda'

from app level build gradle.



回答3:

It worked for me

Using the 8.4.0 version

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


回答4:

This is a known issue in Android Studio Preview 3.0:

If you see this error, it's possible you have a pre-existing version of the Kotlin plugin that is incompatible with the new Android Plugin for Gradle that's in Android Studio 3.0. The solution is to delete the old Kotlin plugin.

Open your project-level build.gradle file and locate ext.kotlin_version. It should be 1.1.2-4 (or higher). If it shows an older version, you need to delete the old Kotlin plugin so it does not obstruct the version included with Android Studio 3.0.

On Windows, it should be located at

C:\Users\user_name\AndroidStudio_version\config\plugins\Kotlin\

On Mac, look in

~/Library/Application\ Support/AndroidStudio_version/Kotlin/



回答5:

Update your kotlin version to the latest:

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

Then you may face some more errors, so before syncing again, make sure that your buildToolsVersion is "26.0.2" or higher.



回答6:

In my case, the issue was caused because we were applying butterknife-gradle-plugin. Upgrading to 8.8.1 didn't fix the issue, but removing it certainly did.

The build.gradle belongs to the application, so I don't even know why we are using that plugin (I'm new to the project)



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!