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

跳转使用Material Motion的Fragment时报NoSuchFieldError如何解决?

错误原因

该错误是Accompanist版本与Jetpack Compose版本不匹配导致的:
你当前使用的Accompanist 0.11.1适配的是Jetpack Compose Beta 10及以上版本,该版本的Compose动画库中Transition类由Compose编译器自动生成了$stable标记字段;而你项目中使用的Compose Beta 09版本的Transition类不存在该字段,运行时Accompanist读取对应字段失败就抛出了该NoSuchFieldError异常。

解决方案

有两种兼容调整方案可选:

  • 保留现有Compose Beta 09版本:将Accompanist版本降级至0.10.0,该版本是官方指定适配Compose Beta 09的版本,无需调整其他依赖即可兼容。
  • 保留现有Accompanist 0.11.1版本:将Jetpack Compose全量依赖升级至Beta 10版本,同步将Kotlin版本升级至1.5.20以适配新版Compose编译器要求。
额外注意事项

版本调整完成后请先执行项目clean操作,清除构建缓存后再重新编译,避免缓存残留的旧类文件导致报错重复出现。你当前使用的Material 1.4.0-rc01、Fragment 1.3.5、AGP 7.0.0-beta03版本均兼容上述两种调整方案,无需额外修改。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 19:06:08