Android Hilt-多模块项目强制转换错误

Android Hilt-多模块项目强制转换错误,android,android-studio,kotlin,dagger,dagger-hilt,Android,Android Studio,Kotlin,Dagger,Dagger Hilt,我正在尝试使用希尔特为我的项目,其中包含动态功能。我面临着一个我无法完全理解的错误。我得到一个类似这样的错误: java.lang.ClassCastException: com.social.analysis.DaggerApp_HiltComponents_ApplicationC$ActivityRetainedCImpl$ActivityCImpl$FragmentCImpl cannot be cast to com.social.login.intro.IntroFragment_G

我正在尝试使用希尔特为我的项目,其中包含动态功能。我面临着一个我无法完全理解的错误。我得到一个类似这样的错误:

java.lang.ClassCastException: com.social.analysis.DaggerApp_HiltComponents_ApplicationC$ActivityRetainedCImpl$ActivityCImpl$FragmentCImpl cannot be cast to com.social.login.intro.IntroFragment_GeneratedInjector
    at com.social.login.intro.Hilt_IntroFragment.inject(Hilt_IntroFragment.java:94)
    at com.social.login.intro.Hilt_IntroFragment.initializeComponentContext(Hilt_IntroFragment.java:58)
    at com.social.login.intro.Hilt_IntroFragment.onAttach(Hilt_IntroFragment.java:50)
    at androidx.fragment.app.Fragment.onAttach(Fragment.java:1602)
    at com.social.login.intro.Hilt_IntroFragment.onAttach(Hilt_IntroFragment.java:40)
日志模块中的My ViewModel(动态功能)

登录模块中的我的片段

@AndroidEntryPoint
class IntroFragment : BaseFragment<FragmentIntroBinding, IntroViewModel>(
R.layout.fragment_intro
) {

companion object {
    fun newInstance() = IntroFragment()
}

override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
    super.onViewCreated(view, savedInstanceState)
}

override fun onInitDataBinding() {
    viewBinding.viewModel = viewModel
}
}
我在应用程序模块中的主要活动

abstract  class BaseFragment <B: ViewDataBinding, M: ViewModel>(
@LayoutRes
private val layoutId: Int
): Fragment() {

@Inject
lateinit var viewModel: M
lateinit var viewBinding: B
...
@HiltAndroidApp
class App : SplitCompatApplication() {
}
@AndroidEntryPoint
class MainActivity : AppCompatActivity() 
我从App模块调用IntroFragment。然后应用程序崩溃

项目结构如下所示:

java.lang.ClassCastException: com.social.analysis.DaggerApp_HiltComponents_ApplicationC$ActivityRetainedCImpl$ActivityCImpl$FragmentCImpl cannot be cast to com.social.login.intro.IntroFragment_GeneratedInjector
    at com.social.login.intro.Hilt_IntroFragment.inject(Hilt_IntroFragment.java:94)
    at com.social.login.intro.Hilt_IntroFragment.initializeComponentContext(Hilt_IntroFragment.java:58)
    at com.social.login.intro.Hilt_IntroFragment.onAttach(Hilt_IntroFragment.java:50)
    at androidx.fragment.app.Fragment.onAttach(Fragment.java:1602)
    at com.social.login.intro.Hilt_IntroFragment.onAttach(Hilt_IntroFragment.java:40)

来自:

删除.gradle目录(在项目基目录中)
无效缓存并重新启动Android Studio。

使用动态功能模块时,您应该使用dagger2而不是刀柄。您是否解决过此问题?应该使用匕首而不是刀柄。即使没有动态功能,我也会遇到此问题。。。我在一个简单的“com.android.library”中进行活动@村崎骏你找到的唯一解决办法就是使用匕首2?村崎骏你完全正确。经过一次清洁和重建,它成功了。