[英]How do I avoid restarting Android Studio because of a Kotlin build error: Supertypes of the following classes cannot be resolved
我有一个用 Java 编写的 Android 应用程序,现在正在第一次尝试 Kotlin。 我使用 Kotlin 创建了一个新活动,应该通过“startActivityforResult”从 Java 代码中调用它。 IDE(可能是 Kotlin 插件?)自动将所有必需的东西添加到 gradle 构建文件中。 新活动使用主活动中的键来识别和枚举参数和返回值。 当我尝试使用 Android Gradle 插件 v3.3.1 和 Kotlin 1.3.20 在 Android Studio 3.3.1 中构建此应用程序时,否。
通常这会导致错误:无法解析以下类的超类型。 请确保您在类路径中具有所需的依赖项...
列出的类有 2 个我自己的类(因此依赖关系没有问题),两种情况下的超类型是相同的,即一个 Java 接口
interface AllDataLoadedListener {
void allDataLoaded();
}
与其他接口定义一起位于名为 DatabaseInterfaces.java 的文件中。
按照此处的建议使缓存无效并重新启动 Android Studio 会有所帮助(并非总是但主要是),但是在每次更改代码之后这一步显然是必要的,这会很快变得烦人。
根本问题是什么,如何避免和/或解决这个问题?
事实证明,虽然在一个文件中声明多个接口是不受欢迎的,但 Java 编译器仍然允许这样做,但 Kotlin 编译器目前不允许。 将接口文件拆分成文件,每个文件都有一个(1 行)接口,它们各自的类型名称也作为文件名。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.