java.lang.RuntimeException: Cannot create an instance of class com.xxx.xxxViewModel

今天在Android项目中使用Hilt做依赖注入,结合Jetpack的ViewModel一起使用,报错如下:

java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.quickandroid/com.example.quickandroid.MainActivity}: java.lang.RuntimeException: Cannot create an instance of class com.xx.quickandroid.commonbiz.viewmodel.GitViewModel

排查了好久都不知道问题在哪,后来才发现:

我在子module中依赖了Hilt,而主module中直接依赖了这个自module而没有添加Hilt依赖,导致了上面的问题

如果你也遇到上面的报错信息排查不出问题来,切记检查你所有用到了Hilt的module,一定要在所有module的build.gradle头部添加hilt插件:

apply plugin: 'kotlin-kapt'
apply plugin: 'dagger.hilt.android.plugin'

并在依赖项中添加下面的配置:

implementation "com.google.dagger:hilt-android:2.28-alpha"
kapt "com.google.dagger:hilt-android-compiler:2.28-alpha"
上一篇:java-匕首:android.content.Context上没有可注入成员.您是否要添加可注入的构造函数?类要求的模块


下一篇:Android-Dagger 2不生成组件