在gradle更新后无法找到方法(无法编译项目)

我尝试按照这些说明将项目中的gradle版本更新为4.1-milestone-1

我当前的gradle-wrapper.properties文件:

#Sat Jun 17 21:17:43 IDT 2017 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists distributionUrl=\ https\://services.gradle.org/distributions/gradle-4.1-milestone-1-all.zip 

我当前的项目build.gradle文件buildscript

 buildscript { ext.kotlin_version = '1.1.3' apply from: 'dependencies.gradle' repositories { jcenter() mavenCentral() google() } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha5' .... } .... } 

在尝试编译项目时,我收到此错误:

错误:(1,0)无法找到方法’com.google.common.base.Preconditions.checkArgument(ZLjava / lang / String; Ljava / lang / Object; Ljava / lang / Object; Ljava / lang / Object; Ljava /郎/对象;)V”。 此意外错误的可能原因包括:

  • Gradle的依赖性缓存可能已损坏(这有时会在网络连接超时后发生。)重新下载依赖项并同步项目(需要网络)
  • Gradle构建过程(守护程序)的状态可能已损坏。 停止所有Gradle守护进程可以解决此问题。 停止Gradle构建过程(需要重启)
  • 您的项目可能正在使用第三方插件,该插件与项目中的其他插件或项目请求的Gradle版本不兼容。

在损坏的Gradle进程的情况下,您还可以尝试关闭IDE,然后终止所有Java进程。

  • 我试过清理项目

  • 我试图点击重新下载依赖项和同步项目,但我得到了同样的错误。

  • 我在我的主目录和项目中删除了以前的.gradle文件,但是我得到了同样的错误。

  • 我试过杀死java进程和android工作室,但我得到了同样的错误。

  • 我试图杀死所有gradle的守护进程,但我得到了同样的错误

问题是我在我的buildscript依赖项中有firebase,所以它看起来像这样:

 buildscript { ext.kotlin_version = '1.1.3-2' apply from: 'dependencies.gradle' repositories { ... } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha6' classpath ('com.google.firebase:firebase-plugins:1.1.0') //the firebase line .... } } 

我终于通过用以下代码替换firebase类路径来解决了这个问题:

 classpath ('com.google.firebase:firebase-plugins:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5' } 

所以现在我的gradle构建脚本看起来像这样

  buildscript { ext.kotlin_version = '1.1.3-2' apply from: 'dependencies.gradle' repositories { ... } dependencies { classpath 'com.android.tools.build:gradle:3.0.0-alpha6' classpath ('com.google.firebase:firebase-plugins:1.1.0') { exclude group: 'com.google.guava', module: 'guava-jdk5' } .... } } 

在那之后,我所要做的就是清理项目,杀死gradle守护进程

 ./gradlew --stop 

并重启工作室,问题解决了。