Android Studio升级Gradle7.4之后Hilt报错的解决

news/2024/7/5 4:20:43

目录

  • 升级Android Studio和Gradle版本
  • Hilt版本升级
  • 编译通过,但是运行报错` SAVED_STATE_REGISTRY_OWNER_KEY`
  • 总结

升级Android Studio和Gradle版本

升级到 Android Studio Dolphin | 2021.3.1 版本之后,gradle版本的推荐设置是7.4,于是便一同升级了。

Android Studio 提供升级的功能
gradle update
upgrade assistant

Hilt版本升级

升级助手会自动帮你把 hilt-android-gradle-plugin 升级到 2.40.1。
此时直接运行项目应该是正常的。
如果编译不通过,可以尝试将Hilt的版本同步到官网的最新版本。
点此查看:https://dagger.dev/hilt/gradle-setup

编译通过,但是运行报错 SAVED_STATE_REGISTRY_OWNER_KEY

如果build没有问题但是一运行就闪退,并且报错如下:
java.lang.IllegalArgumentException: CreationExtras must have a value by SAVED_STATE_REGISTRY_OWNER_KEY

那么问题其实不在hilt版本上了,需要升级的则是以下依赖

    implementation "androidx.activity:activity-ktx:1.4.0"
    implementation "androidx.fragment:fragment-ktx:1.4.1"

将他们分别升级至1.5.+,报错消失。

    implementation "androidx.activity:activity-ktx:1.5.1"
    implementation "androidx.fragment:fragment-ktx:1.5.2"

总结

每次升级gradle大概率会遇到hilt的版本问题,需要注意hilt版本和gradle版本的对应更新。
但是这次反而是因为其他组件没更新导致的问题。
关于 CreationExtras ,lifecycle 2.5.0-alpha01 开始引入了 CreationExtras 的概念,它替代了 Factory 的任务为 VM 初始化所需的参数,Factory 无需再持有状态。
详情可自行参考官方文档。


http://lihuaxi.xjx100.cn/news/18498.html

相关文章

在Kafka生产实践中又出问题了

1、背景 最近在折腾Kafka日志集群,由于公司部署的应用不断增加,日志采集程序将采集到的日志发送到Kafka集群时出现了较大延迟,总的TPS始终上不去,为了不影响业务团队通过日志排查问题,采取了先解决问题,再…

【回眸】HighTec编译文件烧录及串口调试

前言 上周烧录完毕后没有串口调试,这周再走一遍流程,编译下载烧录后串口调试。 首先 File→import→General→Existing Project into Workspace导入已经存在的源代码 打开工程目录1ToolEnv→0Build→1Config→ConfigTricoreGnuc→ConfigGnuc.mk&#…

Shell-基础(二):Shell变量、Shell运算符、Shell条件判断、Shell流程控制、函数

三、Shell变量 3.1 系统变量 $HOME、$PWD、$SHELL、$USER等 查看系统变量的值 [rootlocalhost ~]$ echo $HOME /root [rootlocalhost ~]$ 3.2 自定义变量 3.2.1 基本语法 定义变量:变量值撤销变量:unset 变量声明静态变量:readonly变量&…

《c++ Primer Plus 第6版》读书笔记(5)

第10章 对象和类 本章内容包括: 过程性编程和面向对象编程类概念如何定义和实现类共有类访问和私有类访问类的数据成员类方法(类函数成员)创建和实用类对象类的构造函数和析构函数const成员函数this指针创建对象数组类作用域抽象数据类型OOP&…

艾美捷山羊抗人IgG-AP化学性质曲线展示

AP(Alkaline Phosphatase,碱性磷酸酶)是一种含锌的同源二聚体糖蛋白,分子量为56KDa。它是一种能够将对应底物(核酸、蛋白、生物碱等)去磷酸化的酶,即通过水解磷酸单酯将底物分子上的磷酸基团除去…

常用git命令

当前子分支:子分支合并master git pull origin child_branch:master 恢复到指定版本 git reset --hard 44f994dd8fc1e10c9ed557824cae50d1586d0cb3 删除本地分支 git branch -D branch-name 删除远程分支【ps:如果先删除远程分支,要切换到…

如何在公司内部统一「数据指标口径」?_光点科技

随着公司信息化程度的提高,各系统中的数据也越来越复杂。数据指标口径不统一逐渐成为“通病”。然而,面对不够准确的数据,管理者做出了不同的决定,因此统一数据指标的直径变得非常重要。 首先,数据指标口径不同的情况很…

模板进阶

一、非类型模板参数 模板参数分类:类型形参、非类型形参 类型形参:出现在模板参数列表中,跟在class或者typename之类的参数类型名称非类型形参:就是用一个常量作为类(函数)模板的一个参数,在类(函数)模板中可将该参数当…