gpt4 book ai didi

java - Gradle:程序类型已经存在

转载 作者:行者123 更新时间:2023-12-03 05:37:48 25 4
gpt4 key购买 nike

我正在尝试开始使用 libaums 项目 (https://github.com/magnusja/libaums)。
我编写了一个类 Log,它反射(reflect)了 android.util.Log 的方法,但将所有内容写入文件(因为我无法访问 android 上的调试输出流)。我无法理解如何从我编写的模块中构建一个包并将其作为本地依赖项包含到 libaums 项目(Gradle compilation: package not found)中,所以我决定只导入 Log.java(这是一个 com.iglogger 包在两个 libaums 项目(应用程序和实际的 libaums 库)中实现 Log 类)。这反过来又在合并 dex 文件的阶段产生了一个问题——因此 app 项目同时依赖于 Log 类和 libaums,而 libaums 也使用 Log 类。

13684:09:44:38.705 [ERROR] [com.android.build.gradle.internal.tasks.DexMergingTaskDelegate] java.lang.RuntimeException: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
13861:Caused by: java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:
13649:09:44:38.698 [ERROR] [org.gradle.api.Project] D8: Program type already present: com iglogger.Log
13685:Program type already present: com.iglogger.Log
13862:Program type already present: com.iglogger.Log
13871:Program type already present: com.iglogger.Log

经过一番研究,解决方案似乎是我必须在将 libaums 导入 app project 时排除对 Log.java(即 com.iglogger.Log)的依赖。但是在我的情况下,我究竟应该怎么做呢?看来我已经在 libaums 项目中声明了对 Log.java 的依赖关系,这样我以后就可以排除它了。对吧?如果是这样,那怎么办?

最佳答案

因此,通过从依赖于 lib 项目的应用程序项目中删除文件(com/iglogger)来解决问题。
IE。 java 中的 import 语句似乎不仅包括要使用的包的声明,还包括包本身的对象。

关于java - Gradle:程序类型已经存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54854195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com