Compose UI Icon在Release构建中崩溃,Debug构建正常
Release构建崩溃(Debug正常):Icon组件触发IncompatibleClassChangeError
Release构建时在Icon()组件处崩溃,但Debug构建可正常运行,相关代码如下:
IconButton(onClick = { finish.invoke() }) { Icon( painter = painterResource(id = LocalAppResources.current.backArrow), tint = customTheme.headingColor, contentDescription = "Back" ) }
报错信息:
java.lang.IncompatibleClassChangeError: 存在冲突的默认方法实现 androidx.compose.ui.Modifier androidx.compose.ui.draw.DrawModifier.then(androidx.compose.ui.Modifier)
解决建议
- 统一Compose依赖版本:检查所有Compose相关依赖(如
androidx.compose.ui:ui、androidx.compose.ui:ui-graphics、androidx.material:material等),确保使用完全一致的版本,版本不匹配是这类方法冲突的常见原因。 - 清理构建缓存:执行
./gradlew clean命令,或在Android Studio中通过File -> Invalidate Caches... / Restart清理缓存后重新构建。 - 排查依赖冲突:运行
./gradlew app:dependencies查看项目依赖树,确认是否有第三方库引入了旧版Compose依赖,通过exclude语句排除冲突依赖。 - 匹配gradle插件与Compose版本:确保Android Gradle Plugin(AGP)版本与Compose版本兼容,参考官方兼容说明调整对应版本号。
内容的提问来源于stack exchange,提问作者Ankit
相关产品推荐
相关产品推荐

