多Module java和kotlin混编打包 出现 duplicate entry错误

多Module java和kotlin混编打包 出现 Duplicate entry错误

问题:

项目中使用了ARouter 组件化,在打包的时候出现了Duplicate entry 的错误,其中一个module 中使用了kotlin和java混编。

解决:

网上有很多相同错误的解决方法,但是都是jar 包引入重复的问题,在这里并不适用。在打包时发现混编的module 中的apt 文件夹 并没有编译出含有kotlin 代码的那个文件夹,所以考虑是apt 的问题。
然后发现Duplicate entry xx类 这个类的注解 没有生成成功,考虑是Dagger2对kotlin的兼容问题。
最后在 混编的module 中的build.gradle 文件中加入了 kapt 的插件,并且使用kapt 再注解 dagger2的compiler,即可正常打包,再排查原本生成在apt 的文件夹的文件现在转移到kapt的文件夹 中去了。

在这里插入图片描述
在这里插入图片描述

你可能感兴趣的:(android,gradle,kotlin)