升级Compose BOM至2023.10.01以上时App因ComposeView缺失崩溃
Compose BOM升级后崩溃(NoClassDefFoundError: ComposeView)解决方案
升级Compose BOM至2023.10.01以上版本后,打开任意Compose界面触发如下崩溃,即使单独指定Compose库版本也无法解决:
java.lang.NoClassDefFoundError: Failed resolution of: Landroidx/compose/ui/platform/ComposeView; at androidx.activity.compose.ComponentActivityKt.setContent(ComponentActivity.kt:55) at androidx.activity.compose.ComponentActivityKt.setContent$default(ComponentActivity.kt:51)
以下是可行的解决步骤:
- 检查
androidx.activity:activity-compose依赖:该库与Compose BOM强绑定,升级BOM后必须移除该库的硬编码版本,让它自动继承BOM管理的版本,避免旧版本与新BOM不兼容。 - 清理重建项目:执行
./gradlew clean后再重新构建,或者在Android Studio中依次执行Build -> Clean Project和Build -> Rebuild Project,清除缓存的旧依赖文件。 - 排查依赖冲突:运行
./gradlew 你的模块名:dependencies查看依赖树,确认是否有第三方库强制引入了旧版Compose相关依赖。如果有,通过exclude规则排除冲突依赖,或使用force属性指定正确版本。 - 匹配Kotlin编译扩展版本:确保
build.gradle中composeOptions的kotlinCompilerExtensionVersion与当前使用的Compose BOM版本对应,版本不匹配会导致核心类加载失败。 - 验证minSdkVersion:部分高版本Compose BOM要求minSdk不低于21,检查模块的
minSdkVersion是否符合要求,过低的话需要调整。
内容的提问来源于stack exchange,提问作者Joshua Akanbi
相关产品推荐
相关产品推荐

