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

Android应用模拟器安装失败:SAVED_STATE_REGISTRY_OWNER_KEY异常排查

解决CreationExtras缺少SAVED_STATE_REGISTRY_OWNER_KEY崩溃问题

核心修复步骤

1. 统一Hilt与AndroidX Hilt依赖版本

当前使用的Hilt版本为2.45,但androidx.hilt:hilt-compiler版本是1.0.0,二者版本不兼容会导致SavedState相关参数传递失败。修改build.gradle(Module:app)中的依赖:

dependencies {
    // 保持Hilt版本一致
    implementation("com.google.dagger:hilt-android:2.45")
    kapt("com.google.dagger:hilt-android-compiler:2.45")
    // 升级androidx.hilt到匹配版本
    kapt("androidx.hilt:hilt-compiler:1.1.0")
}

2. 确保Fragment正确获取ViewModel

从错误栈看,崩溃发生在RegisterFragment获取ViewModel时,必须使用Hilt支持的viewModels()委托,避免手动创建ViewModelProvider:

// 在RegisterFragment.kt中声明ViewModel
private val viewModel: RegisterViewModel by viewModels()

3. 升级Navigation依赖版本

当前使用的Navigation 2.4.2与Hilt 2.45存在兼容性问题,升级到2.5.0+版本可解决SavedStateRegistryOwner传递异常:

dependencies {
    implementation("androidx.navigation:navigation-fragment-ktx:2.5.0")
}

4. 清理重建项目

  • 执行File -> Invalidate Caches... -> Invalidate and Restart
  • 运行Build -> Clean Project后再执行Rebuild Project

错误原因

该崩溃是因为ViewModel初始化时无法获取SAVED_STATE_REGISTRY_OWNER_KEY对应的实例,通常由以下情况引发:

  • Hilt与AndroidX Hilt版本不匹配,导致HiltViewModelFactory无法正确处理SavedState参数
  • Navigation版本过旧,无法在Fragment导航流程中正确传递SavedStateRegistryOwner
  • Fragment获取ViewModel的方式不符合Hilt规范

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 04:34:57