android-studio - 多个dex文件定义Lcom/android/volley/toolbox/Volley;
问题描述
我收到一个错误
"多个dex文件定义Lcom/android/volley/toolbox/Volley;
是否可以在单个项目中使用两个 volley 库,即编译com.android.volley:volley:1.0.0
和?dev.dworks.libs:volleyplus:+
解决方案
如果这两个 volley 库具有不同的包名称,则可以将两者都作为依赖项。但是,使用两个(相同?或相似?)库的附加价值是什么?为什么不重构你的项目来减少你的依赖呢?
针对特定包和类的多个 dex 定义的解决方案是添加适当的打包选项。例如
packagingOptions {
pickFirst "anyFileWillDo"
exclude "/secret-data/**"
}
在我看来,拥有重复的库依赖确实不是一个好习惯,它可能会对最终的二进制文件产生一些不确定性。因为pickFirst选项在从正确版本的库中选择类时不确定,所以它只会选择它首先看到的类。
推荐阅读
- json - 无限滚动 Ajax JSON 尝试一次获取 10 个随机项目
- sql - 查询结果中缺少数据
- java - 如何找到整数中重复次数最多的最高数
- html - 如何将带有 th:action 的表单附加到输入 onfocusout
- python - MongoDB无法连接
- git - git rebase 显示在后续提交中已经解决的冲突
- python - AWS MSK 使用 shell 命令但不使用 python
- wordpress - WordPress:新浏览器会话的首次登录总是失败
- sas - 如何将新导入的表的记录与我存储在 SAS 中的服务器上的另一个表的记录累积起来?
- python - 更新表后烧瓶,使用添加按钮更新数据自动重新加载到mysql