更新 gradle 插件后,Android Studio 不会在 kotlin 类中显示错误

Posted

技术标签:

【中文标题】更新 gradle 插件后,Android Studio 不会在 kotlin 类中显示错误【英文标题】:Android studio doest not show error in kotlin class after update gradle plugin 【发布时间】:2021-04-28 13:00:51 【问题描述】:

我在 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 类中的错误导致构建失败,例如:“'handleMessage' overrides nothing” for Handler class, ”对于intent.getParcelableExtra,只允许在类型为空的接收器上调用安全(?.)或非空断言(!!.)。 Android Studio 本身并没有在 kotlin 类中向我显示此类错误。你能告诉我这与什么有关以及如何在 android studio 中启用错误显示

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

【问题讨论】:

【参考方案1】:

点击“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)

【讨论】:

以上是关于更新 gradle 插件后,Android Studio 不会在 kotlin 类中显示错误的主要内容,如果未能解决你的问题,请参考以下文章