You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加ProgressIndicator导致应用崩溃问题求助

解决Compose Material3进度指示器崩溃问题

问题原因

你遇到的java.lang.NoSuchMethodError是Compose各模块版本不兼容导致的:Material3的CircularProgressIndicator和LinearProgressIndicator依赖了androidx.compose.animation.core.KeyframesSpecConfig类的at()方法,但当前项目中拉取的Compose动画核心库版本没有这个方法——根源是你未明确指定Compose相关依赖的统一版本,导致不同模块版本不匹配。

解决方案

方案1:使用Compose BOM统一版本(推荐)

Compose BOM会自动管理所有Compose模块的版本兼容性,无需手动逐个指定版本:

// 先添加Compose BOM,统一管理所有Compose模块版本
implementation(platform("androidx.compose:compose-bom:2024.03.00"))

// 原有依赖保留,无需指定Compose相关版本
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.8.0")
implementation("androidx.compose.ui:ui")
implementation("androidx.compose.material3:material3")

// 按需添加预览、工具类依赖(可选)
implementation("androidx.compose.ui:ui-tooling-preview")
debugImplementation("androidx.compose.ui:ui-tooling")

方案2:手动指定统一版本

如果不想用BOM,需确保所有Compose相关依赖版本完全一致,比如Material3 1.2.0对应Compose UI 1.6.1:

implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.6.2")
implementation("androidx.activity:activity-compose:1.8.0")
implementation("androidx.compose.ui:ui:1.6.1")
implementation("androidx.compose.material3:material3:1.2.0")
implementation("androidx.compose.animation:animation-core:1.6.1") // 明确指定动画核心库版本

最后一步:清理项目并重建

执行以下操作确保缓存清理干净:

  • 运行命令:./gradlew clean(Windows系统用gradlew clean)
  • 重新同步Gradle,再运行项目

内容的提问来源于stack exchange,提问作者Julius Babies

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 17:05:11