android - NoSuchMethodError:适用于Android的jUnit测试中的com.google.common.util.concurrent.MoreExecutors.directExecutor()

标签 android unit-testing gradle junit guava

我尝试编写测试,我想将guava 19.0用于项目,但是Android Studio内置了guava 17.0,我在build.gradle中将其强制

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

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

最佳答案

您需要分析依赖性的冲突。您的考试成绩中至少有两个依赖于Guava但指定了不同版本的依赖项。

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

有关更多详细信息,请参见https://docs.gradle.org/current/userguide/dependency_management.html

关于android - NoSuchMethodError:适用于Android的jUnit测试中的com.google.common.util.concurrent.MoreExecutors.directExecutor(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36764829/

相关文章:

android - 在导航 Activity 时恢复 edittext 值

unit-testing - HttpClient & 单元测试

javascript - 在函数中添加两个参数到 "then"Protractor

c# - 犀牛模拟 : Mocking private method calls c#

android - 在 Android Studio 和 Gradle 中使用 ViewPagerIndicator 库

android - 无法使用哈希字符串 '27.0.3' Android Studio 3.1.3查找目标

java - 仅对某些包或我的文件启用 minifyEnabled

java.lang.IndexOutOfBoundsException : Invalid index 5, 大小为 5

java - 将数据从 CSV 保存到 Realm

android - 无法从游标适配器获取数据