Compose
Compose
Compose 遇到的问题
java.lang.NoSuchMethodError: No static method setContent$default
现象
出现的这个问题比较恶心,编译啥的都能通过,也能安装成功,但是就是运行无法成功,启动就闪退。
将 Compose 集成到 App 中,编译通过,启动时崩溃报错:
可能的原因
- Compose Compiler 没有生效
从报错信息看,再反编译看调用到的方法
调用的 ` setContent$default(Landroidx/activity/ComponentActivity;Landroidx/compose/runtime/CompositionContext;Lkotlin/jvm/functions/Function0;ILjava/lang/Object;)V ` 是一个带 Function0 的方法,但没有这个方法
但 androidx.activity.compose�.ComponentActivity.setDefault 的是 Function2
解决
- Kotlin 版本:1.8.10
- JDK 版本:11
- Compose compiler 版本:1.4.3
- 去除 buildSrc
Ref
本文由作者按照 CC BY 4.0 进行授权