R8 minify: Type defined multiple times

孤街浪徒 提交于 2021-02-07 09:11:01

问题


When building a signed release APK I'm getting following error:

.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

This Room DAO definition comes from a library I created myself.

Looking into the .jar file I can find this:

This only happens on release. I can still build and run debug without any problems.

Unfortunately I can't find the error. Hopefully anyone here might have a hint for me.

I first assumed it might be due to the fact that the library contains a standard definition of a Room database and my application using the library contains its own custom definition holding the same DAOs. So annotation processors would maybe process the DAOs twice. But I couldn't check this properly.

If it's important to know: I'm also using Koin for dependency injection.


回答1:


Unfortunately I don't exactly know the reason but I got the library working by removing the Room kaptCompiler from the library and instead only have it in the app that is using the library.



来源:https://stackoverflow.com/questions/63099092/r8-minify-type-defined-multiple-times

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!