簡體   English   中英

帶刀柄的動態特征模塊

[英]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/DFM-MultiModule-Cache

是否可以將動態功能模塊與 Hilt 一起使用? 如果是,我該如何解決上述異常。 您可以在以下位置找到我的源代碼: https : //github.com/AliRezaeiii/Hilt-MultiModule-Cache

如以下鏈接中所述: Dagger Hilt 不適用於動態功能模塊

Hilt 使用與動態加載類的 DFM 不兼容的單體組件系統。

當您擁有動態功能模塊時,您可以繼續在您的應用中使用 Hilt。 Hilt 目前提供了一些將綁定注入動態特性的基本功能,但最終您需要使用 Dagger 將您的共享模塊依賴項連接到您的 Hilt 依賴關系圖,並使用 Dagger 多重綁定為您的 ViewModel 注入構建通用解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM