調べても出てこなくてわりと苦労したのでシェアしておきます。
エラー内容
java.lang.RuntimeException: Cannot create an instance of class 〜ViewModel
…
Caused by: java.lang.InstantiationException: java.lang.Class<〜ViewModel> has no zero argument constructor
viewModelの生成ができないと言われている。
原因と解決策
DIライブラリの Koin を導入したことで、 viewModelの生成方法が変わった ことが原因でした。
ViewModelProviders
を使用している書き方↓から
val viewModel = ViewModelProviders.of(this).get(MyViewModel::class.java)
by viewModel()
を使用する書き方↓に変更するとエラーが消えました。
val viewModel: MyViewModel by viewModel()
参考
koin-android · insert-koin.io
AACのViewModelをKoinでInjectする - Qiita