首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R8 minify:多次定义类型

R8 minify:多次定义类型
EN

Stack Overflow用户
提问于 2020-07-26 18:46:32
回答 3查看 1.3K关注 0票数 6

在构建签名版本APK时,我收到以下错误:

代码语言:javascript
复制
.gradle/caches/transforms-2/files-2.1/532a317ccd54c8ae4f622faeb8b534a9/jetified-wordup-core-0.2.1-runtime.jar:de/codereddev/wordup/database/WordDao_Impl$5.class,
Type de.codereddev.wordup.database.WordDao_Impl$5 is defined multiple times:
/home/codered_dev/.gradle/caches/transforms-2/files-2.1/532a317ccd54c8ae4f622faeb8b534a9/jetified-wordup-core-0.2.1-runtime.jar:de/codereddev/wordup/database/WordDao_Impl$5.class,
/home/codered_dev/MySoundboardApp/app/build/intermediates/javac/release/classes/de/codereddev/wordup/database/WordDao_Impl$5.class

这个Room DAO定义来自我自己创建的一个library

查看.jar文件,我可以找到以下内容:

这只会在发布时发生。我仍然可以构建并运行debug,没有任何问题。

不幸的是,我找不到错误。希望这里的任何人都能给我一个提示。

我首先假设这可能是因为该库包含一个Room数据库的标准定义,而我使用该库的应用程序包含它自己的自定义定义,其中包含相同的DAO。因此,批注处理器可能会处理DAO两次。但是我不能正确地检查这个。

重要的是要知道:我也在使用Koin进行依赖注入。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2020-08-29 20:13:41

不幸的是,我不知道确切的原因,但我从库中删除了房间kaptCompiler,而只将它放在正在使用库的应用程序中,从而使库正常工作。

票数 3
EN

Stack Overflow用户

发布于 2021-04-26 13:05:55

如果相同的包被不同的模块使用,例如,库和使用该库的应用程序都使用org.foo.bar作为包,就会发生这种情况。如果使用不同的包,错误将消失。

票数 1
EN

Stack Overflow用户

发布于 2021-08-05 03:27:53

我解决了这个问题:

在我的lib-base中,我有一个WordDao(baseDatabase),

代码语言:javascript
复制
abstract fun dao(): WordDao

但是在我的module-word(wordDatabase)中,也有一个

代码语言:javascript
复制
abstract fun dao(): WordDao

因此,在删除module-word中的abstract fun dao(): WordDao之后,我解决了这个问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63099092

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档