AndroidXに移行した後、このエラーに直面しています。
Java.lang.IllegalStateException: SimpleTypeImpl should not be created for error type: ErrorScope{Error scope for class <ERROR CLASS> with arguments: org.jetbrains.kotlin.types.IndexedParametersSubstitution@14ac19e7}
これ リンク はあまり役に立ちません
Android StudioはAndroidXオプションに移行します。Studioはあまり役に立ちませんでした。すべてのファイルを手動で変更してこのエラーを解決し、コードとXMLの両方でAndroidXに従ってパッケージ名を変更しました。が変更されていない場合、このエラーが表示されます。Kotlinプラグインのバージョン、gradleプラグインのバージョン、ビルドツール、およびAndroidスタジオバージョンが最新であることを確認してください。
Kotlin 1.3.20
に更新しましたが、それでも機能しませんでした。次に、Kotlin
ソースコードを確認することにしました。私はこれを見つけました link
DisplayItem<T>
というインターフェースがあり、そのtypeパラメーターを削除しました。この後、エラーが発生し始めました。実際には、logcat
のエラーの最後にDisplayItem
と表示されます
だから私はコードですべてのDisplayItem
型をチェックしましたが、次のようにLivaData
変数の1つの型パラメーターを削除するのを忘れていました。
MediatorLiveData<DataHolder<List<DisplayItem<MessageViewEntity>>>>
変数から型パラメーターを削除した後、コンパイルを開始しました。これがお役に立てば幸いです。
注:git grep
を使用すると、クイック検索を実行できます。
私にとって、エラーは無効なimport
ステートメントが原因で発生していました。 Android Studioはこれに関して何も表示しませんでした。すべてのファイルに移動する必要があり、Studioは無効なインポートエラーを表示しました。それを修正し、ビルドエラーはなくなりました。
この問題を解決するための私の主なヒントは、本当のエラーがどこにあるのか手掛かりなしでエラーメッセージが表示されるだけの場合、Android studio分析/検査コードオプションを試してください。出力を掘り下げるこれから、問題を引き起こしている実際のコンパイルエラーを見つけ、簡単に修正できました。
私の場合の実際の問題は、ネストされたクラスを持つジェネリッククラスを抽象クラスに変更し、2つのサブクラスを作成して以前の使用法を置き換えるときでした。私はまだ、コードを元の抽象基本クラスに参照していたので、それらを2つの新しいサブクラスの1つに置き換えるべきでした。