android - 项目重建失败,但 APK 编译并正确运行
问题描述
这是我运行“重建项目”时遇到的错误
Program type already present: org.apache.commons.net.DatagramSocketClient Message
{kind=ERROR, text=Program type already present: org.apache.commons.net.DatagramSocketClient,
sources=[Unknown source file], tool name=Optional.of(D8)}
和
Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException:
Error while merging dex archives:
C:\Users\Dave\Studio Projects\sbandroid\app\build\intermediates\transforms\dexBuilder\debug\19,
C:\Users\Dave\Studio Projects\sbandroid\app\build\intermediates\transforms\externalLibsDexMerger\debug\0,
C:\Users\Dave\Studio Projects\sbandroid\app\build\intermediates\transforms\dexBuilder\debug\16.jar,
C:\Users\Dave\Studio Projects\sbandroid\app\build\intermediates\transforms\dexBuilder\debug\17.jar,
C:\Users\Dave\Studio Projects\sbandroid\app\build\intermediates\transforms\dexBuilder\debug\18.jar
如标题所示,如果我只是在 Studio 中按 Run 或 Debug,APK 会很好地组合在一起,并且在 gradle 构建期间不会标记任何错误。
我应该担心这种构建行为吗?
解决方案
投诉内容如下...
Program type already present: org.apache.commons.net.DatagramSocketClient
我最近在这个答案中回答了这个问题- 它是可以采用的,因为问题几乎“相同”。您只需要找到任何重复 org.apache.commons
的依赖项,然后将它们从构建中排除(其中一个必须留在左侧)。
推荐阅读
- sql - 基于列值重复显示列的 SQL 查询
- sql - 使用 sqldeveloper 转至 csv 时没有输出
- html - 我的列只有在我给出行类时才有效
- python - sklearn.impute SimpleImputer:为什么 transform() 首先需要 fit_transform()?
- networking - 如何为通过 LAN 电缆连接到同一路由器的一组机器分配静态 IP 地址?
- r - 将包含“^”运算符的字符向量转换为数字
- symfony - 无需配置即可添加自定义 ORM 映射
- .net-core - 如何在 OnActionExecuted 上获取动作模型上的属性值
- javascript - 减少javascript中麦克风输入的音频播放延迟?
- c++ - 减去与同一数组未定义行为无关的两个指针的基本原理是什么?