- 前言
最近在使用导入第三方library包时遇到了一个问题,问题如下 :
Warning:Conflict with dependency 'com.google.guava:guava'.
Resolved versions for app (18.0) and test app (19.0) differ.
See http://g.co/androidstudio/app-test-app-conflict for details.
Error:Execution failed for task
':app:prepareDebugUnitTestDependencies'.
Dependency Error. See console for details.
- 错误原因(猜测)
应用程序编译的版本与测试用的版本不一致导致,具体原因可能是:support 23.2.1不支持 0.29版本的truth。
- 尝试解决
于是尝试分别更换support版本和truth依旧未解决。
- 错误分析:
先看一下项目结构,我导入了一个module作为library,即utilcode,然后使用config.gradle统一管理gradle中的版本
这里声明了三个单元测试的架包
utilcode的buidle.gradle中引用config.gradle声明的三个单元测试框架
- 最终原因
app的buidle.gradle又引用了一次,由于使用了
compile project(‘:utilcode’),
所以相当于这里引用了两次单元测试的框架。
- 最终解决方法
把app里的三个单元测试的架包删掉,rebuild project,错误消失了!!!!折腾了一晚上终于解决了!!!!!!