我有一个Android项目,其中一个第三方库依赖于Dagger 1
,我的项目依赖于Dagger 2
。
Dagger 1和2具有相同的软件包名称,因此我的应用程序运行正常,但第三方库无法正常工作,因为dagger 2覆盖了dagger 1软件包。
将Dagger 2的包名更改为dagger2
而不是dagger
不是一种选择,因为注释编译器正在生成具有静态包名dagger
的类。
有没有办法解决这个冲突?
答案 0 :(得分:0)
在第三方库jar或至少匕首部分使用jarjar。这会将匕首代码(以及任何引用)移动到自己的包中。正如在注释处理器运行之后发生的那样,它应该捕获所有代码。