【问题标题】:NoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor() in jUnit tests for AndroidNoSuchMethodError: com.google.common.util.concurrent.MoreExecutors.directExecutor() 在 Android 的 jUnit 测试中
【发布时间】:2016-08-14 08:57:16
【问题描述】:

我尝试编写测试并且我想将 guava 19.0 用于项目,但是 Android Studio 构建了 guava 17.0 我在 build.gradle 中强制它

configurations.all {
            resolutionStrategy.force 'com.google.guava:guava:19.0'
        }

它有效,但如何为测试做同样的事情?因为在运行测试时它使用旧的 guava 17.0

【问题讨论】:

    标签: android unit-testing gradle junit guava


    【解决方案1】:

    您需要分析依赖项是否存在冲突。你的测试分数中至少有两个依赖项,它们依赖于 Guava,但指定了不同的版本。

    您可以使用gradle dependenciesgradle dependencyInsight 来查找您的哪些依赖项依赖于特定版本的Guava。一旦找到罪魁祸首(取决于您不想要的版本),您就可以排除它们。

    更多详情请见https://docs.gradle.org/current/userguide/dependency_management.html

    【讨论】:

      【解决方案2】:

      对我有帮助

      configurations {
          compile.exclude module: 'guava-jdk5'
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-05-27
        • 2019-01-18
        • 1970-01-01
        • 2013-05-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多