带 Hilt 的动态功能模块
Dynamic feature module with Hilt
我在使用 Hilt 作为依赖项注入框架时尝试将我的功能模块设为动态功能模块。我收到以下异常:
caused by: java.lang.ClassCastException: com.android.sample.viaplay.DaggerViaplayApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$ActivityCImpl$FragmentCI cannot be cast to com.android.sample.viaplay.feature.list.ui.DashboardFragment_GeneratedInjector
at com.android.sample.viaplay.feature.list.ui.Hilt_DashboardFragment.inject(Hilt_DashboardFragment.java:104)
at com.android.sample.viaplay.feature.list.ui.Hilt_DashboardFragment.onAttach(Hilt_DashboardFragment.java:55)
at androidx.fragment.app.Fragment.onAttach(Fragment.java:1783)
at com.android.sample.viaplay.feature.list.ui.Hilt_DashboardFragment.onAttach(Hilt_DashboardFragment.java:43)
我在另一个示例中使用了 Dagger 而不是 Dagger-Hilt,它按预期工作:https://github.com/alirezaeiii/SampleDaggerRx
是否可以在 Hilt 中使用动态功能模块?如果是,我该如何解决上述异常。您可以在以下位置找到我的源代码:https://github.com/AliRezaeiii/Hilt-MultiModule-Cache
如下所述 link : Dagger Hilt doesn't work with Dynamic Feature Modules :
Hilt 使用与动态加载 类 的 DFM 不兼容的整体组件系统。
当您拥有动态功能模块时,您可以继续在您的应用中使用 Hilt。
Hilt 目前提供了一些基本功能来将绑定注入动态
功能,但最终您需要使用 Dagger 将共享模块依赖项连接到 Hilt 依赖关系图,并使用 Dagger 多重绑定为 ViewModel 注入构建通用解决方案。
我在使用 Hilt 作为依赖项注入框架时尝试将我的功能模块设为动态功能模块。我收到以下异常:
caused by: java.lang.ClassCastException: com.android.sample.viaplay.DaggerViaplayApplication_HiltComponents_SingletonC$ActivityRetainedCImpl$ActivityCImpl$FragmentCI cannot be cast to com.android.sample.viaplay.feature.list.ui.DashboardFragment_GeneratedInjector
at com.android.sample.viaplay.feature.list.ui.Hilt_DashboardFragment.inject(Hilt_DashboardFragment.java:104)
at com.android.sample.viaplay.feature.list.ui.Hilt_DashboardFragment.onAttach(Hilt_DashboardFragment.java:55)
at androidx.fragment.app.Fragment.onAttach(Fragment.java:1783)
at com.android.sample.viaplay.feature.list.ui.Hilt_DashboardFragment.onAttach(Hilt_DashboardFragment.java:43)
我在另一个示例中使用了 Dagger 而不是 Dagger-Hilt,它按预期工作:https://github.com/alirezaeiii/SampleDaggerRx
是否可以在 Hilt 中使用动态功能模块?如果是,我该如何解决上述异常。您可以在以下位置找到我的源代码:https://github.com/AliRezaeiii/Hilt-MultiModule-Cache
如下所述 link : Dagger Hilt doesn't work with Dynamic Feature Modules :
Hilt 使用与动态加载 类 的 DFM 不兼容的整体组件系统。
当您拥有动态功能模块时,您可以继续在您的应用中使用 Hilt。 Hilt 目前提供了一些基本功能来将绑定注入动态 功能,但最终您需要使用 Dagger 将共享模块依赖项连接到 Hilt 依赖关系图,并使用 Dagger 多重绑定为 ViewModel 注入构建通用解决方案。