升级Compose Navigation库至Alpha7后AnimatedNavHost崩溃问题
问题根因
你遇到的崩溃是依赖版本不匹配导致的:
- accompanist-navigation-animation 0.16.1 版本仅适配 androidx.navigation:navigation-compose:2.4.0-alpha06
- navigation-compose 2.4.0-alpha07 版本做了内部API变更,将路由参数的存储结构从
List改为Set,旧版本的accompanist-navigation-animation没有适配这个改动,运行时强转类型就抛出了你看到的ClassCastException。
解决方案
两种方案二选一即可:
- 升级accompanist-navigation-animation版本到适配navigation 2.4.0-alpha07的对应版本:
将依赖替换为:
implementation("com.google.accompanist:accompanist-navigation-animation:0.17.0")
如果项目中还引入了其他accompanist系列依赖,必须将所有accompanist依赖的版本统一调整为0.17.0,避免其他兼容问题。
- 回退navigation-compose版本到2.4.0-alpha06,保持现有accompanist版本不变:
implementation("androidx.navigation:navigation-compose:2.4.0-alpha06")
内容的提问来源于stack exchange,提问作者Jéluchu
相关产品推荐
相关产品推荐

