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

WearOS使用ScreenScaffold触发NoSuchMethodError崩溃求助

解决WearOS中ScreenScaffold调用崩溃的问题

问题根源

这个NoSuchMethodError本质是依赖版本不兼容:ScreenScaffold属于Wear Compose专属组件,你的项目要么缺失了对应的Wear Compose核心依赖,要么依赖版本与Compose BOM、Kotlin Compiler Extension版本不匹配,导致运行时找不到预期的方法。

解决方案

1. 补充缺失的Wear Compose核心依赖

你的build.gradle.kts中未明确引入Wear Compose的foundation和material依赖,这是核心问题。在dependencies块中添加:

// Wear Compose 核心组件依赖
implementation(libs.androidx.wear.compose.foundation)
implementation(libs.androidx.wear.compose.material)

如果使用libs.versions.toml管理版本,需确保这两个依赖的版本与项目中androidx.compose.bom的版本兼容(例如BOM版本为2024.02.00时,Wear Compose版本对应为1.4.0)。

2. 对齐Compose相关版本

  • Kotlin Compiler Extension Version:当前你使用的1.5.1需要与Kotlin版本、Compose BOM版本严格匹配。例如:
    • Kotlin 1.9.0 → Compose Compiler 1.5.1
    • Kotlin 1.9.20 → Compose Compiler 1.5.4
      若Kotlin版本通过libs.plugins.jetbrains.kotlin.android管理,务必保证两者版本对应。
  • 移除冲突依赖:你的依赖中同时引入了material、material3、androidx.compose.material和androidx.compose.material3,易引发版本冲突。建议统一使用Wear版Material3,移除冗余的material和androidx.compose.material依赖。

3. 清理缓存并重建项目

版本不兼容问题常伴随缓存残留,执行以下操作:

  • 在Android Studio中点击File → Invalidate Caches... → Invalidate and Restart
  • 或终端执行命令:
./gradlew clean
./gradlew assembleDebug

额外检查

  • 可移除useLibrary("wear-sdk")配置:已引入Wear Compose依赖时,该配置易引发SDK版本冲突。
  • Horologist库版本需与Wear Compose兼容:例如Horologist 0.7.x对应Wear Compose 1.4.x,可参照官方文档调整版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:57:23