我目前正在从事Android库项目。当前,我们有纯依赖注入(没有任何框架)。但是,我们扩展了库功能:提供更多模块,将代码分成新模块,动态交付等。这就是为什么我们当前的DI无法满足我们的需求的原因。我们需要在其中投入大量资源。
一开始我没有使用Dagger2,因为我认为该库应该很少依赖。我对Dagger2感到满意,因此不会造成任何问题。
但是,我担心的是各种各样的问题,这些问题是在集成库时发生的。
我想问一下,如果应用程序不使用Dagger2而库不使用Android gradle或任何其他问题?
如果应用程序和库都使用不同版本的dagger2,会发生集成问题吗?
如果应用程序使用另一个 DI框架(例如硬币),会发生集成问题吗?
感谢答案!
答案 0 :(得分:0)
是的,您可以将Dagger 2用于图书馆项目。
Dagger 2基本上用于将依赖项解析为独立的模块,以便更好地进行单元测试以及对项目库或用户应用程序进行各种其他优化。
否,如果可以处理Dex文件,则不会出现集成问题。另外,您可以尝试使用库的文件(外部库)来避免此类错误。
否,如果使用两个不同的外部模块,则不会发生集成错误。但是,如果两个DI都在使用任何通用的外部模块,则必须确保所有DI都必须具有相同版本的外部模块或由Dex管理良好。