android - R8 minify:类型定义多次
问题描述
构建签名版本 APK 时出现以下错误:
.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 定义来自我自己创建的一个库。
查看.jar
文件我可以找到这个:
这仅在发布时发生。我仍然可以毫无问题地构建和运行调试。
不幸的是我找不到错误。希望这里的任何人都可以对我有所提示。
我首先假设这可能是因为该库包含 Room 数据库的标准定义,而我使用该库的应用程序包含其自己的自定义定义,其中包含相同的 DAO。所以注释处理器可能会处理 DAO 两次。但我无法正确检查。
如果知道很重要:我也在使用 Koin 进行依赖注入。
解决方案
不幸的是,我不完全知道原因,但我通过从库中删除 Room kaptCompiler 来让库正常工作,而只在使用库的应用程序中使用它。
推荐阅读
- python - 具有多个标头的 Pandas 时间序列数据帧
- c# - 字符串长度超过服务器上maxJsonLength属性错误设置的值
- java - 在 Java 中获取 Mustache 循环的索引
- sql-server - 参数化(始终加密)- 内部存储过程
- mysql - 无法将数据库还原到本地 (xampp)
- sql - SQL 根据 VLOOKUP 结果更新值
- javascript - 无法正确显示我的传单弹出窗口
- java - 当一个资源包装另一个资源时,Java try-with-resource
- javascript - 放大悬停无法使用正确的位置
- c++ - 表达式中方法返回语句的预览值?