gpt4 book ai didi

android - R8 说类型被多次定义 : in build\. 转换和在 build\tmp\kotlin-classes

转载 作者:行者123 更新时间:2023-12-05 00:03:30 33 4
gpt4 key购买 nike

我最近从我的 Android 应用程序项目中提取了一些代码到单独的 kotlin 模块中(build.gradle 文件声明了 “java-library”“kotlin” 插件) .

现在,任务 ':app:minifyQaWithR8' 失败并显示消息:

AGPBI: {"kind":"error","text":"Type com.myapp.ext.models.AckResponseis defined multiple times:E:\projects\myapp\ext\build\.transforms\35656f2face08400c6d53844207373f0\jetified-ext.jar:com/myapp/ext/models/AckResponse.class,E:\projects\myapp\app\build\tmp\kotlin-classes\qa\com\myapp\ext\models\AckResponse.class"}],"tool":"R8"}

我尝试删除每个模块的 build 文件夹,然后使缓存无效/重新启动,然后进行组装,并使用不同的类得到了类似的结果。但两次的位置都相同:一个在 .transforms\35656f2face08400c6d53844207373f0\jetified-ext.jar 中,一个在 app\build\tmp\kotlin-classes\qa >

similar question 中,R8 团队的一名成员建议这些位置之一代表依赖关系,一个代表应用程序代码,但是,我找不到相关类的任何实例我的应用程序代码,也没有任何迹象表明我的模块被多次导入。

我的两个模块确实有很多相同的类可能是相关的,但是我使用以下语句只在构建中包含其中一个:

if(api_version == "ext2") {
implementation project(":ext2")
}else{
implementation project(":ext1")
}

这些模块中的包不会出现在主应用程序代码中。

我还可以采取哪些其他步骤来追查此问题的根源?

最佳答案

事实证明,我的项目中实际上存在重复的类。一开始我只是找不到它们,因为文件中的包名称与文件所在的文件夹不对应。

关于android - R8 说类型被多次定义 : in build\. 转换和在 build\tmp\kotlin-classes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66344110/

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