Hilt

扩展 Dagger Hilt 的功能,以启用从 androidx 库注入某些类的依赖项。

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

构件 稳定版 候选版 Beta 版 Alpha 版
hilt-common 1.2.0 - - -
hilt-compiler 1.2.0 - - -
hilt-work 1.2.0 - - -
hilt-navigation 1.2.0 - - -
hilt-navigation-compose 1.2.0 - - -
hilt-navigation-fragment 1.2.0 - - -
此库上次更新于:2024 年 2 月 21 日

反馈

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

创建新问题

查看问题跟踪器文档以了解更多信息。

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-beta011.2.0-beta01 版本包含以下提交。

1.2.0-alpha01 版本

2023 年 12 月 13 日

已发布 androidx.hilt:hilt-*:1.2.0-alpha011.2.0-alpha01 版本包含以下提交。

API 变更

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

Hilt 1.1.0 版本

1.1.0 版本

2023 年 11 月 1 日

已发布 androidx.hilt:hilt-*:1.1.01.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-rc011.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-alpha011.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-alpha021.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-alpha021.1.0-alpha02 版本包含以下提交。

1.1.0-alpha01 版本

2022 年 12 月 7 日

已发布 androidx.hilt:hilt-navigation:1.1.0-alpha011.1.0-alpha01 版本包含以下提交。

Hilt-Navigation-Compose 1.1.0 版本

1.1.0-alpha01 版本

2022 年 12 月 7 日

已发布 androidx.hilt:hilt-navigation-compose:1.1.0-alpha011.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.01.0.0 版本包含以下提交。

1.0.0 版本的主要功能

androidx.hilt:hilt-navigation-compose 工件提供 API,允许用户使用 :navigation-compose 从 Compose 应用中的导航回退栈条目中获取标注为 @HiltViewModel 的 ViewModel。

hiltViewModel() 函数返回现有 ViewModel 或创建一个作用域为 NavController 回退栈中当前导航图的新 ViewModel。该函数可以选择性地接受 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-beta011.0.0-beta01 版本包含以下提交。

API 变更

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

1.0.0-alpha03 版本

2021 年 6 月 16 日

已发布 androidx.hilt:hilt-navigation-compose:1.0.0-alpha031.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-alpha021.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-alpha011.0.0-alpha01 版本包含以下提交。

新功能

  • :hilt-navigation-compose 工件提供 API,允许用户使用 :navigation-compose 从 Compose 应用中的导航回退栈条目中获取标注为 @HiltViewModelViewModelhiltNavGraphViewModel() 函数可以接受 NavBackStackEntry 或路由字符串,用于将 ViewModel 的作用域限定为当前回退栈条目或栈中的父条目。(Ia9234

Hilt 1.1 版本

1.1.0-beta01 版本

2023 年 10 月 4 日

已发布 androidx.hilt:hilt-*:1.1.0-beta011.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.01.0.0 版本包含以下提交。

1.0.0 版本的主要功能

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

1.0.0-beta01 版本

2021 年 3 月 10 日

已发布 androidx.hilt:hilt-*:1.0.0-beta011.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-alpha031.0.0-alpha03 版本包含以下提交。

新功能

  • 提供用于从导航 NavBackStackEntry 中检索标注了 @HiltViewModel 的 ViewModel 的 API。工件 hilt-navigation-fragment 提供了一个 hiltNavGraphViewModels Kotlin 扩展,而 hilt-navigation 公开了 HiltViewModelFactory 工厂方法,该方法接收 NavBackStackEntry 作为参数,并返回一个 ViewModelProvider.Facctory,该工厂可与 ViewModelProvider 或其他 ViewModel 获取 API(例如 Compose 的 viewModel() 函数)一起使用:viewModel(HiltViewModelFactory(AmbientContext.current, backStackEntry))。(I00e67)

API 变更

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

错误修复

  • 修复了一个问题,该问题会导致 Hilt 无法正确拾取 AndroidX Hilt 扩展模块,从而导致无法创建 Worker。(I3181cb/159540434)
  • 将 AndroidX Hilt 扩展迁移到 SingletonComponent,从而消除了使用 ApplicationCompoonent 的弃用警告。(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 库注入某些类的依赖项。