更新 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 类中显示错误的主要内容,如果未能解决你的问题,请参考以下文章
更新Google服务插件并且无法安装应用程序成功完成gradle后
2020 Android 大厂面试(之)插件化模块化组件化热修复增量更新Gradle
Android Gradle 插件Gradle 参考文档收集 ( 持续更新 ) ★★