gradle错误-com.google.common.collect.ImmutableSet.toImmutableSet()Ljava / util / stream / Collector

时间:2018-12-03 06:04:01

标签: android amazon-web-services gradle guava android-gradle-3.0

我已经看过几次了,但是还没有找到解决方案-在将Gradle升级到4.10.2并将Android gradle插件升级到3.2.1之后,尝试构建Android时遇到很多困难应用程式。这似乎是插件之间的不兼容,特别是与所使用的Guava版本有关。我相信这是我正在使用的AWS插件之一,但引起了问题,但我使用的是最新版本,我找不到任何简单的方法来分离需要AWS插件的gradle脚本和需要AWS插件的gradle脚本。 Android插件。加载AWS插件时,有什么方法可以告诉gradle使用哪个版本的Guava?我已经尝试过了,但无济于事:

buildscript {
  repositories {
    mavenCentral()
    maven { url "https://plugins.gradle.org/m2/" }
  }
  dependencies {
    classpath "com.google.guava:guava:27.0.1-android"
    classpath "jp.classmethod.aws:gradle-aws-plugin:0.38"
  }
}

只需删除最后一个类路径条目即可解决此问题,但是在AWS任务中我需要它。

奇怪的是,当我收到该错误并再次运行gradle时,我得到了一个完全不同的错误:“无法初始化com.android.build.gradle.internal.ide.ModelBuilder类”。似乎没有得到任何谷歌点击是有用的。

FWIW堆栈跟踪为:

Caused by: java.lang.NoSuchMethodError: com.google.common.collect.ImmutableSet.toImmutableSet()Ljava/util/stream/Collector;
        at com.android.build.gradle.internal.ide.DependenciesImpl.<init>(DependenciesImpl.java:97)
        at com.android.build.gradle.internal.ide.ModelBuilder.<clinit>(ModelBuilder.java:134)
        at com.android.build.gradle.BasePlugin.registerModels(BasePlugin.java:612)
        at com.android.build.gradle.BasePlugin.configureExtension(BasePlugin.java:576)
        at com.android.builder.profile.ThreadRecorder.record(ThreadRecorder.java:81)
        at com.android.build.gradle.BasePlugin.apply(BasePlugin.java:290)
        at com.android.build.gradle.AbstractAppPlugin.apply(AbstractAppPlugin.java:122)
        at com.android.build.gradle.AppPlugin.apply(AppPlugin.java:43)
        at com.android.build.gradle.AppPlugin.apply(AppPlugin.java:35)
        at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:42)
 ...

1 个答案:

答案 0 :(得分:0)

最后通过将其添加到root build.gradle中使其工作:

configurations.all {
  resolutionStrategy {
    force "com.google.guava:guava:23.0"
    force "commons-logging:commons-logging:1.2"
    force "commons-io:commons-io:2.4"
  }
}

解决了与番石榴的第一个冲突之后,又有2条冲突,因此需要额外的一行。

App似乎可以正常构建和运行,并且AWS命令执行正常。