首页 > 解决方案 > 更新 gradle 插件后,Android Studio 不会在 kotlin 类中显示错误

问题描述

我在 Android 4.1.2 工作室工作。我更新了 Gradle 插件

-        classpath 'com.android.tools.build:gradle:3.5.3'
+        classpath 'com.android.tools.build:gradle:4.1.2'

-distributionUrl=https\://services.gradle.org/distributions/gradle-5.6.2-all.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-6.5-bin.zip

之后,我尝试构建 apk,但由于 kotlin 类中的错误,构建失败,例如:对于 Handler 类, “ 'handleMessage' overrides nothing ”,以及“仅安全 (?.) 或非 null 断言 (! !.)对intent.getParcelableExtra 类型的可为空的接收器允许调用。Android Studio 本身并没有在 kotlin 类中向我显示此类错误。你能告诉我这与什么有关以及如何在 android studio 中启用错误显示

我尝试过重建、清理、无效和重新启动。

标签: android-studiokotlinbuildandroid-gradle-pluginbuild.gradle

解决方案


点击“Handler”打开反编译的Handler.class,在里面搜索“handleMessage”,新定义如下:

public void handleMessage(@NonNull Message msg) {
    throw new RuntimeException("Stub!");
}

因此参数 msg 已更改为 @NonNull。因此,为了解决这个问题,原来的 override 语句

override fun handleMessage(message: Message?)

应该更新删除?匹配函数定义。

override fun handleMessage(message: Message)

推荐阅读