Android Studio 3.0 - 找不到方法“com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Lja
Posted
技术标签:
【中文标题】Android Studio 3.0 - 找不到方法“com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List”【英文标题】:Android Studio 3.0 - Unable to find method 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List' 【发布时间】:2017-10-17 23:20:53 【问题描述】:尝试使用 android Studio 3.0 Canary 1 启动新的 Kotlin 项目会显示此错误。完整跟踪:
错误:找不到方法 'com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Ljava/util/List;'。 此意外错误的可能原因包括:
Gradle 的 依赖项缓存可能已损坏(这有时会在网络连接后发生 连接超时。)重新下载依赖项 和同步项目(需要网络) Gradle 的状态 构建过程(守护进程)可能已损坏。停止所有 Gradle 守护进程可能 解决这个问题。停止 Gradle 构建 进程(需要重新启动) 您的项目可能正在使用 与其他插件不兼容的第三方插件 请求的项目或 Gradle 版本 项目。 在 Gradle 进程损坏的情况下,您可以 还可以尝试关闭 IDE,然后终止所有 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
我自己没有触及任何这些值,它们被保留为默认值。创建非Kotlin新项目没有这个问题。
【问题讨论】:
com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List;'的可能重复 【参考方案1】:在我的 build.gradle 变化中
ext.kotlin_version = '1.1.2-3'
到
ext.kotlin_version = '1.1.2-4'
解决了这个问题。
您可以找到最新版本here。
【讨论】:
在这里解决了!但是插件是1.1.2-3
的版本,不是1.1.2-4
,我能做什么?
@PedroPauloAmorim 我不确定这是否是 正确 答案,但是当我进入设置 > 插件并卸载 Kotlin 插件并重新启动时,它以 1.1 启动.2-4 安装。很奇怪,但可能是朝着正确方向迈出的一步。
是的,只需删除插件并瞧
我可以确认这适用于 android studio 3.0 canary 3,赞成
奇怪,我刚下载 Android Studio 3 的时候就出现了这种情况。幸运的是我最终在这里找到了解决方案【参考方案2】:
它对我有用
使用8.4.0版本
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
【讨论】:
【参考方案3】:对于 Java
删除
classpath 'me.tatarka:gradle-retrolambda:3.7.0'
将butterknife
version 降级为8.4.0
classpath 'com.jakewharton:butterknife-gradle-plugin:8.4.0'
别忘了删除
apply plugin: 'me.tatarka.retrolambda'
来自应用级构建 gradle。
【讨论】:
【参考方案4】:这是 Android Studio Preview 3.0 中的known issue:
如果您看到此错误,可能是您的 Kotlin 插件的预先存在版本与 Android Studio 3.0 中的新 Android Plugin for Gradle 不兼容。解决方案是删除旧的 Kotlin 插件。
打开您的项目级
build.gradle
文件并找到ext.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/
【讨论】:
【参考方案5】:在我的情况下,问题是因为我们应用了 butterknife-gradle-plugin。升级到 8.8.1 并不能解决问题,但删除它确实可以。
build.gradle 属于应用程序,所以我什至不知道我们为什么要使用该插件(我是该项目的新手)
【讨论】:
【参考方案6】:将您的 kotlin 版本更新到最新版本:
ext.kotlin_version = '1.1.2-4' //currently it's the latest version
那么您可能会遇到更多错误,因此在再次同步之前,请确保您的 buildToolsVersion
为“26.0.2”或更高版本。
【讨论】:
以上是关于Android Studio 3.0 - 找不到方法“com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Lja的主要内容,如果未能解决你的问题,请参考以下文章
Android-Android Studio 3.0找不到Android Device Monitor
Android Studio 3.0 - 找不到方法“com.android.build.gradle.internal.variant.BaseVariantData.getOutputs()Lja
在 Android Studio 的插件中找不到 Android Drawable Importer
找不到 com.android.tools.lint:lint-gradle Android Studio 3