Android Studio 3.0 – 无法find方法'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util / List'
试图用Android Studio 3.0 Canary 1启动一个新的Kotlin项目显示这个错误。 全迹:
错误:无法find方法'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava / util / List;'。 这种意外错误的可能原因包括:
- Gradle的依赖关系caching可能已损坏(有时发生在networking连接超时之后)。重新下载依赖项并同步项目(需要networking)
- Gradle构build过程(守护进程)的状态可能已损坏。 停止所有的Gradle守护进程可能会解决这个问题。 停止Gradle构build过程(需要重新启动)
- 您的项目可能使用与项目中的其他插件或项目请求的Gradle版本不兼容的第三方插件。
在损坏的Gradle进程的情况下,您也可以尝试closuresIDE,然后杀死所有的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 }
我自己并没有触及任何这些值,它们被保留为默认值。 创build一个非Kotlin新项目没有这个问题。
在我的build.gradle改变
ext.kotlin_version = '1.1.2-3'
至
ext.kotlin_version = '1.1.2-4'
解决这个问题
它为我工作
使用8.4.0版本
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
对于Java
只要删除
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
将butterknife
版本降级到8.4.0
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
不要忘记删除
apply plugin: 'me.tatarka.retrolambda'
从应用程序级别构buildgradle。
这是Android Studio Preview 3.0中的一个已知问题 :
如果你看到这个错误,可能你有一个预先存在的Kotlin插件版本,它与Android Studio 3.0中的新的Gradle Android插件不兼容。 解决办法是删除旧的Kotlin插件。
打开你的项目级
build.gradle
文件并findext.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/
在我的情况下,这个问题是因为我们正在应用butterknife-gradle-plugin而引起的。 升级到8.8.1并没有解决这个问题,但当然删除它。
build.gradle属于应用程序,所以我甚至不知道为什么我们使用该插件(我是新来的项目)
更新您的kotlin版本到最新版本:
ext.kotlin_version = '1.1.2-4' //currently it's the latest version
那么你可能会面临更多的错误,所以在再次同步之前,请确保buildToolsVersion
是“26.0.2”或更高。