Unable to find method'com.android.build.gradle.api.BaseVariant.getOutputs()Ljava/util/List' 构建错误解决办法

版权声明:转载请注明来源 https://blog.csdn.net/qq_41115702/article/details/81841581

 最近在做项目的时候,突然IDE来了个提示Gradle升级,升级之后就出现了如下的build构建错误提示信息,弄了许久才解决问题,所以想在这里总结一下,也能做个解决问题的参考


快速解决方法

原因分析:

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-part y 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.

出现这个错误之后,我也是第一时间地按照提示信息的方法,也就是Re-download dependencies and sync projectStop Gradle build processes,然后发现起不了任何作用,也尝试过clean project,都没有任何作用,去网上找了一下方法,大概就是以下这几种解决方法:

1. 插件不兼容

说的比较多的就是Butterknife8.8.1插件与当前的gradle不兼容
判断是不是该问题的最简单方法就是将build.gradle中apply plugin: 'com.jakewharton.butterknife'给注释掉,再次build看有没有报错,如果没有那就是插件不兼容导致的,相关的解决办法,可以参照:

解决添加Butterknife8.8.1依赖后出错的问题

2. 未完全下载最新的Gradle

更新时,由于网络原因没有下载到新的Gradle,导致Gradle包不完整,无法构建
首先,先进入C:\Users\ dell7560(你的计算机名)\ .gradle\wrapper\dists目录下查看下载的Gradle包,如下:
Gradle目录
后面的数字即代表着Gradle对应的版本号
查看版本号最大的一个包的大小是不是0KB,如果是,那就是没下载到,相关的解决方法:

去官网手动下载对应的Gradle压缩包,对其进行替换,官网地址:https://services.gradle.org/distributions/

3. IDE设置问题

虽然更新后,一切配置正常,包也下载完整,但是还是出现以上问题,那就有必要检查一下所使用的IDE的相关设置

首先进入IDE后,依次点击File->Settings或者使用快捷键Ctrl+Alt+S进入设置页面在搜索栏处搜索gradle,进入设置页面,如下:
设置页面
选择use default gradle wrapper或者使用本地的gradle版本选择use local gradle distribution,同时调整配置文件,调整方法请见后文

4. 版本有问题

这种情况只有退回到原版本,这是最快的解决办法

退回方法:

1. 如果之前使用的是本地gradle,找到自己下载的Gradle包进行配置,配置方法请参照:[本地配置Gradle](https://blog.csdn.net/wuyinlei/article/details/78954933)

2. 如果不是,就去到刚才提到的C:\Users\ dell7560(你的计算机名)\ .gradle\wrapper\dists目录下,参考你之前使用的gradle版本,一般是版本最小的那个,多个版本的还需自己判断

打开项目,编辑gradle-wrapper.properties文件,将图中红框内的内容改成对应的更新前使用的版本号
这里写图片描述
3. 更改对应的Gradle插件
编辑project的build.gradle文件,将图中红框处的版本号更改为当前gradle对应插件的版本号,不是刚才gradle的版本号
build.gradle文件
不同版本Gradle插件对应的版本号:

Plugin version Required Gradle version
1.0.0 - 1.1.3 2.2.1 - 2.3
1.2.0 - 1.3.1 2.2.1 - 2.9
1.5.0 2.2.1 - 2.13
2.0.0 - 2.1.2 2.10 - 2.13
2.1.3 - 2.2.3 2.14.1+
2.3.0+ 3.3+
3.0.0+ 4.1+
3.1.0+ 4.4+

表格来自官网:Android Plugin for Gradle release notes

猜你喜欢

转载自blog.csdn.net/qq_41115702/article/details/81841581
今日推荐