使用Dagger的应用程序组件构buildAndroid即时应用程序

我目前正在试用InstantApps,并希望将匕首join到我的项目中。

我正面临着设置应用程序AppComponent的问题。 我的应用程序组件包括我的应用程序的所有function匕首模块。

我基本上有:

  • 一个包含我的Application类的基本应用程序模块
  • 每个活动的每个匕首模块的多个function ,全部以Base作为依赖项。
  • 一个应用程序模块和即时模块都可以导入所有function和基本应用程序模块。

我试图找出在添加即时应用程序模块之前的设置。

从InstantApps文档和项目示例。 看起来应用程序类需要在Base中。 从Dagger文档到安装匕首:

DaggerYourAppComponent.create().inject(this); 

应该包含在你的应用程序类中。 然而,这似乎是不可能的,因为AppComponent需要引用所有的function匕首模块。

我的问题是:

  • 我应该在哪里添加我的AppComponent Dagger模块?
  • 我应该保持我的应用程序在应用程序模块,而不是在基地?
  • 任何GitHub回购或Dagger与即时应用程序文件?

谢谢

Solutions Collecting From Web of "使用Dagger的应用程序组件构buildAndroid即时应用程序"

  • Dagger2非常支持即时应用程序。 您可以为每个要素模块和相应的Dagger提供者类创build组件类,以公开每个要素模块的组件类实例。
  • 每个模块组件类都可以为只包含在该特征模块中的类声明注入方法。
  • 另外,您还可以在基本模块中有一个应用程序组件类,用于应用程序注入。
  • 应用程序组件类可以在包含在基本模块中的应用程序类中实例化,并通过应用程序类中的静态方法暴露给其他function模块。

这里是一个示例代码的Dagger2注入与即时应用程序,使事情更清晰。 https://github.com/willowtreeapps/android-instant-apps-demo