我目前正在尝试 InstantApps,并希望将 dagger 包含到我的项目中。
我在设置应用程序 AppComponent 时遇到问题。我的应用程序组件包括我的应用程序的所有功能匕首模块。
我基本上有:
-
一个基础应用程序模块包含我的应用程序类
-
多种功能每个活动都有一个 dagger 模块,所有模块都以 Base 作为依赖项。
-
一个应用程序模块和即时模块都导入所有功能和基本应用程序模块。
我试图在添加即时应用程序模块之前弄清楚设置。
来自 InstantApps 文档和项目示例。看来 Application 类需要位于 Base 中。从 Dagger 文档,设置 dagger:
DaggerYourAppComponent.create().inject(this);
应包含在您的应用程序类中。然而,这似乎是不可能的,因为 AppComponent 需要引用所有功能匕首模块。
My 问题 are:
- 我应该在哪里添加我的 AppComponent dagger 模块?
- 我应该将我的应用程序保留在应用程序模块中而不是放在 Base 中吗?
- 有任何关于 Dagger with Instant Apps 的 GitHub 存储库或文档吗?
谢谢
- 即时应用程序非常支持 Dagger2。您可以为每个功能模块创建组件类和相应的 Dagger 提供程序类,以公开每个功能模块的组件类实例。
- 每个模块组件类都可以为仅包含在该功能模块中的类声明注入方法。
- 此外,您还可以在
用于应用范围注入的基础模块。
- 应用程序组件类可以在
应用程序类包含在基本模块中并暴露给其他模块
通过应用程序类中的静态方法来功能模块。
下面是使用即时应用程序进行 Dagger2 注入的示例代码,以使事情更加清晰。https://github.com/willowtreeapps/android-instant-apps-demo https://github.com/willowtreeapps/android-instant-apps-demo
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)