欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-06-15 09:16:27
...

今天在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"