我遇到错误
“多个dex文件定义了Lcom / android / volley / toolbox / Volley;
是否可以使用两个凌空库,即在一个项目中编译com.android.volley:volley:1.0.0
和dev.dworks.libs:volleyplus:+
?
答案 0 :(得分:0)
如果这两个凌空库具有不同的程序包名称,则最好将两者都作为依赖项。 但是,使用两个(相同或相似?)库的附加值是什么?为什么不重构项目以减少依赖关系?
针对特定包装和类的多个dex定义的解决方案是添加适当的包装选项。例如
packagingOptions {
pickFirst "anyFileWillDo"
exclude "/secret-data/**"
}
在我看来,具有重复的库依赖性确实不是一个好习惯,它可能会对最终的二进制文件产生一些不确定性。由于 pickFirst 选项对于从正确版本的库中选择类并不确定,因此只能选择第一个看到的类。