java.lang.IllegalStateException:不应为错误类型创建SimpleTypeImpl

Sha*_*zeb 20 android kotlin android-studio-3.2 androidx

迁移到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}
Run Code Online (Sandbox Code Playgroud)

这个链接没有多大帮助

the*_*e64 26

对我来说,错误是由于无效import语句而出现的。Android Studio 没有显示任何与此相关的内容。我不得不去每一个文件,然后工作室显示无效的导入错误。修复了它,构建错误消失了。

  • 确实缺少进口是我这边造成的。如果您不想对每个文件检查缺失的导入,请使用*分析 &gt; 检查代码*菜单。 (3认同)

gre*_*ape 8

我解决此问题的主要技巧是,当您只收到错误消息而不清楚真正的错误在哪里时,请尝试使用 Android Studio 分析/检查代码选项。通过挖掘输出,我发现了触发问题的实际编译错误,然后可以轻松修复它们。

在我的情况下,实际问题是将具有嵌套类的泛型类更改为抽象类并创建两个子类来替换它以前的用法。我仍然将我的代码引用到原始抽象基类,我应该用两个新子类之一替换它们。


sav*_*ion 7

我更新为,Kotlin 1.3.20但仍然无法正常工作。然后,我决定检查Kotlin源代码。我找到了这个链接

我有一个名为的接口,DisplayItem<T>并且删除了它的类型参数。在这之后,我开始得到错误。其实,在错误的末尾logcatDisplayItem

所以我检查DisplayItem了代码中的所有类型,发现发现要删除以下LivaData变量中的一个类型参数:

MediatorLiveData<DataHolder<List<DisplayItem<MessageViewEntity>>>>
Run Code Online (Sandbox Code Playgroud)

从变量中删除类型参数后,它开始编译。希望对您有帮助。

注意:您可以使用它git grep进行快速搜索。

  • `git grep` 是什么? (2认同)