将android build tools插件更新到0.14.1后如果发现我的构建在dexing时被重复的类崩溃了。经过一些调查,我发现它在libraryList.txt中的不同的commons-io jar中。
一个2.4我作为依赖添加的和另一个来自robospice的1.3。明确排除1.3构建后成功。然而
+--- com.octo.android.robospice:robospice:1.4.14
| \--- com.octo.android.robospice:robospice-cache:1.4.14
| +--- org.apache.commons:commons-lang3:3.3.2
| \--- org.apache.commons:commons-io:1.3.2
| \--- commons-io:commons-io:1.3.2 -> 2.4
不应该替代它吗? commons-io:commons-io:1.3.2 - > 2.4 我错误地期望这种行为是默认的,还是只是android构建工具中的一个错误?
答案 0 :(得分:0)
这不是每个人说的依赖解决问题。如果robospice库在其jar中包含commons-io v1.3.2的副本,如果您在主构建脚本中引用较新版本的commons-io,Gradle将不会自动将其删除。如果robospice jar只引用了commons-io,但没有打包它,那么你将 将它声明为主脚本中的依赖项,以便构建你的项目。 / p>