Hilt

扩展 Dagger Hilt 的功能,以实现 androidx 库中某些类的依赖注入。

此表格列出了 androidx.hilt 组中的所有工件。

工件 稳定版 发布候选版 Beta 版 Alpha 版
hilt-common 1.2.0 - - 1.3.0-alpha01
hilt-compiler 1.2.0 - - 1.3.0-alpha01
hilt-work 1.2.0 - - 1.3.0-alpha01
hilt-navigation 1.2.0 - - 1.3.0-alpha01
hilt-navigation-compose 1.2.0 - - 1.3.0-alpha01
hilt-navigation-fragment 1.2.0 - - 1.3.0-alpha01
此库最后更新日期:2025 年 5 月 7 日

反馈

您的反馈有助于改进 Jetpack。如果您发现新问题或对此库有改进建议,请告诉我们。在创建新问题之前,请先查看此库中现有问题。您可以通过点击星形按钮为现有问题投票。

创建新问题

如需了解更多信息,请参阅问题跟踪器文档

Hilt 版本 1.3

版本 1.3.0-alpha01

2025 年 5 月 7 日

androidx.hilt:hilt-*:1.3.0-alpha01 发布。版本 1.3.0-alpha01 包含这些提交

API 变更

  • 更新库和注解处理器以 targeting Kotlin 2.0,以支持包括 KSP2 在内的较新 Kotlin 工具链。

Hilt 版本 1.2

版本 1.2.0

2024 年 2 月 21 日

androidx.hilt:hilt-*:1.2.0 发布。版本 1.2.0 包含这些提交。

自 1.1.0 以来发生的重要更改

  • hiltViewModel()hiltNavGraphViewModels() 添加辅助注入支持。现在,这些函数接受一个额外的回调,您可以在其中使用传入的辅助工厂创建辅助注入的 ViewModel

版本 1.2.0-rc01

2024 年 2 月 7 日

androidx.hilt:hilt-*:1.2.0-rc01 发布。版本 1.2.0-rc01 包含这些提交。

版本 1.2.0-beta01

2024 年 1 月 24 日

androidx.hilt:hilt-*:1.2.0-beta01 发布。版本 1.2.0-beta01 包含这些提交。

版本 1.2.0-alpha01

2023 年 12 月 13 日

androidx.hilt:hilt-*:1.2.0-alpha01 发布。版本 1.2.0-alpha01 包含这些提交。

API 变更

  • 为辅助注入支持添加重载的 hiltViewModel()hiltNavGraphViewModels() 函数。(Ieb98d

Hilt 版本 1.1.0

版本 1.1.0

2023 年 11 月 1 日

androidx.hilt:hilt-*:1.1.0 发布。版本 1.1.0 包含这些提交。

自 1.0.0 以来发生的主要更改

  • androidx.hilt 添加 KSP 支持。
  • hiltViewModel() 中接受 HasDefaultViewModelProviderFactory
  • hiltViewModel() API 现在接受一个可选的键参数。

版本 1.1.0-rc01

2023 年 10 月 18 日

androidx.hilt:hilt-*:1.1.0-rc01 发布。版本 1.1.0-rc01 包含这些提交。

版本 1.1.0-beta01

androidx.hilt:hilt-common:1.1.0-beta01androidx.hilt:hilt-compiler:1.1.0-beta01androidx.hilt:hilt-work:1.1.0-beta01androidx.hilt:hilt-navigation:1.1.0-beta01androidx.hilt:hilt-navigation-compose:1.1.0-beta01androidx.hilt:hilt-navigation-fragment:1.1.0-beta01 发布。

版本 1.1.0-alpha01

2023 年 8 月 9 日

androidx.hilt:hilt-common:1.1.0-alpha01androidx.hilt:hilt-compiler:1.1.0-alpha01androidx.hilt:hilt-work:1.1.0-alpha01 发布。版本 1.1.0-alpha01 包含这些提交。

新功能

  • androidx.hilt 添加 KSP 支持。请注意,这是为 Hilt 的 KSP 支持做准备。为了使用 androidx.hilt 的 KSP 版本,必须发布主要的 Hilt 支持。

Hilt-Navigation-Fragment 版本 1.1.0

版本 1.1.0-alpha02

2023 年 4 月 19 日

androidx.hilt:hilt-navigation-fragment:1.1.0-alpha02 发布。版本 1.1.0-alpha02 包含这些提交。

API 变更

错误修复

  • 修复了 hiltNavGraphViewModel() 未注入 SavedStateHandle 的问题。(3ef114b/272099838

Hilt-Navigation 版本 1.1.0

版本 1.1.0-alpha02

2023 年 4 月 19 日

androidx.hilt:hilt-navigation:1.1.0-alpha02 发布。版本 1.1.0-alpha02 包含这些提交。

版本 1.1.0-alpha01

2022 年 12 月 7 日

androidx.hilt:hilt-navigation:1.1.0-alpha01 发布。版本 1.1.0-alpha01 包含这些提交。

Hilt-Navigation-Compose 版本 1.1.0

版本 1.1.0-alpha01

2022 年 12 月 7 日

androidx.hilt:hilt-navigation-compose:1.1.0-alpha01 发布。版本 1.1.0-alpha01 包含这些提交。

API 变更

  • hiltViewModel() API 现在接受一个可选的键参数。这允许您使用不同的键获取同一 ViewModel 类型的多个实例。(I6ee47b/245139957

Hilt-Navigation-Compose 版本 1.0.0

版本 1.0.0

2022 年 1 月 26 日

androidx.hilt:hilt-navigation-compose:1.0.0 发布。版本 1.0.0 包含这些提交。

1.0.0 的主要功能

androidx.hilt:hilt-navigation-compose 工件提供了 API,允许用户使用 :navigation-compose 在 Compose 应用程序中从 Navigation 返回堆栈条目中获取带有 @HiltViewModel 注解的 ViewModel。

函数 hiltViewModel() 返回一个现有 ViewModel 或创建一个新的 ViewModel,其作用域为 NavController 返回堆栈中当前的导航图。该函数可以选择接受 NavBackStackEntry,将 ViewModel 的作用域限制为父级返回堆栈条目。

版本 1.0.0-rc01

2021 年 12 月 15 日

androidx.hilt:hilt-navigation-compose:1.0.0-rc01 发布,自 1.0.0-beta01 以来无任何更改。版本 1.0.0-rc01 包含这些提交。

版本 1.0.0-beta01

2021 年 11 月 17 日

androidx.hilt:hilt-navigation-compose:1.0.0-beta01 发布。版本 1.0.0-beta01 包含这些提交。

API 变更

  • 移除已弃用的 hiltNavGraphViewModel() 函数及其重载。所有这些函数都已被 hiltViewModel() 替换。(Iaf7d7

版本 1.0.0-alpha03

2021 年 6 月 16 日

androidx.hilt:hilt-navigation-compose:1.0.0-alpha03 发布。版本 1.0.0-alpha03 包含这些提交。

API 变更

  • hiltViewModel() 方法现在与 Lifecycle-ViewModel-Compose 1.0.0-alpha07 中的 viewModel() API 更改保持一致,并且现在接受一个可选的 ViewModelStoreOwner 参数,而不是拥有一个无参数版本和一个只接受 NavBackStackEntry 的版本。这允许您继续使用 hiltViewModel() 访问 LocalViewModelStoreOwner 提供的默认所有者,或者使用 hiltViewModel(navBackStackEntry) 或其他 ViewModelStoreOwner 来指定任何特定所有者。(I2628d

版本 1.0.0-alpha02

2021 年 5 月 18 日

androidx.hilt:hilt-navigation-compose:1.0.0-alpha02 发布。版本 1.0.0-alpha02 包含这些提交。

API 变更

  • hiltNavGraphViewModel() 重命名为 hiltViewModel(),并移除了 NavController 上的扩展,因为用户可以直接使用 navigation-compose API 从路由获取 NavBackStackEntry。(I6ef57

Compose 兼容性

  • androidx.hilt:hilt-navigation-compose:1.0.0-alpha02 仅与 Compose 版本 1.0.0-beta07 及更高版本兼容。

依赖项更新

版本 1.0.0-alpha01

2021 年 3 月 10 日

androidx.hilt:hilt-navigation-compose:1.0.0-alpha01 发布。版本 1.0.0-alpha01 包含这些提交。

新功能

  • :hilt-navigation-compose 工件提供了 API,允许用户使用 :navigation-compose 从 Compose 应用程序中的 Navigation 返回堆栈条目获取带有 @HiltViewModel 注解的 ViewModel。函数 hiltNavGraphViewModel() 可以接受 NavBackStackEntry 或一个“路由”字符串,可用于将 ViewModel 的作用域限制为当前返回堆栈条目或堆栈中的父条目。(Ia9234

Hilt 版本 1.1

版本 1.1.0-beta01

2023 年 10 月 4 日

androidx.hilt:hilt-*:1.1.0-beta01 发布。版本 1.1.0-beta01 包含这些提交。

androidx.hilt:hilt-*:1.1.0-beta01 发布,自 1.1.0-alpha* 以来无任何更改。

Hilt 版本 1.0.0

版本 1.0.0

2021 年 5 月 5 日

androidx.hilt:hilt-*:1.0.0 发布。版本 1.0.0 包含这些提交。

1.0.0 的主要功能

androidx.hilt 工件提供扩展功能,用于将 Hilt 与各种其他 AndroidX 库(例如 WorkManager 和 Navigation)集成。如需查看功能列表和示例,请参阅集成文档

版本 1.0.0-beta01

2021 年 3 月 10 日

androidx.hilt:hilt-*:1.0.0-beta01 发布。版本 1.0.0-beta01 包含这些提交。

API 变更

  • 从 AndroidX Hilt 工件中移除 @Deprecated 类型,特别是 @androidx.hilt.ViewModelInject@androidx.hilt.Assisted。请注意,@ViewModelInject 已被 @HiltViewModel 替换。(I626fe

版本 1.0.0-alpha03

2021 年 1 月 27 日

androidx.hilt:hilt-*:1.0.0-alpha03 发布。版本 1.0.0-alpha03 包含这些提交。

新功能

  • 提供 API,用于从 Navigation NavBackStackEntry 中检索带有 @HiltViewModel 注解的 ViewModel。hilt-navigation-fragment 工件提供 hiltNavGraphViewModels Kotlin 扩展,而 hilt-navigation 暴露一个 HiltViewModelFactory 工厂方法,该方法以 NavBackStackEntry 作为参数,并返回一个可与 ViewModelProvider 或其他 ViewModel 检索 API(如 Compose 的 viewModel() 函数)一起使用的 ViewModelProvider.FactoryviewModel(HiltViewModelFactory(AmbientContext.current, backStackEntry))。(I00e67

API 变更

  • @WorkerInject 替换为 @HiltWorker@HiltWorker 现在是一个类型注解,需要在构造函数中使用 @AssistedInject。(Ic2f15
  • 弃用 @ViewModelInject。等效功能现在由 @HiltViewModel 提供,后者现在是核心 Hilt Android API 的一部分。(I36a41

错误修复

  • 修复了 AndroidX Hilt 扩展模块无法被 Hilt 正确识别,导致 Worker 无法创建的问题。(I3181cb/159540434
  • 将 AndroidX Hilt 扩展迁移到 SingletonComponent,移除使用 ApplicationComponent 的弃用警告。(I9c916b/175849092

版本 1.0.0-alpha02

2020 年 7 月 22 日

androidx.hilt:hilt-*:1.0.0-alpha02 发布。版本 1.0.0-alpha02 包含这些提交。

错误修复

  • 修复了当从带有 @AndroidEntryPoint 注解的类请求未通过 Hilt 注入的 ViewModel 时,保存状态键重复的问题。(b/158737069
  • 修复了 HiltWorkerFactory 中无法正确初始化带有 @WorkerInject 注解的嵌套 Worker 类的问题。(b/160524718

版本 1.0.0-alpha01

2020 年 6 月 10 日

androidx.hilt:hilt-*:1.0.0-alpha01 发布。版本 1.0.0-alpha01 包含这些提交。

androidx.hilt 软件包和库扩展了 Dagger Hilt 的功能,以实现 androidx 库中某些类的依赖注入。