Hilt是Dagger的封装,主要目的是简化依赖注入在Android中的使用。配置Hilt依赖库往往会出现一些问题。在本文中将详细介绍Hilt依赖库的配置。首先,创建一个Android项目,在该项目下会自动创建一个App模块。也可以在这个Android项目下,另外创建自定义的应用模块。要配置Hilt依赖库,需要考虑三方面的配置内容。
一、配置libs.versions.toml
libs.versions.toml文件提供了Gradle 的一种版本目录(Version Catalog)功能,用于集中管理项目中的依赖版本和插件版本。在这个文件中,需要分别在[versions]、[libraries]和[plugins]下分别增加如下内容:
typescript
[version]
hilt = "2.57.1"
[libraries]
hilt-compiler = {group= "com.google.dagger","name"="hilt-android-compiler",version.ref = "hilt"}
hilt-android = {group = "com.google.dagger",name= "hilt-android",version.ref = "hilt"}
[plugins]
hiltAndroid={id="com.google.dagger.hilt.android",version.ref = "hilt"}
二、配置项目的顶层build.gradle.kts
在顶层项目的build.gradle.kts增加如下内容:
typescript
plugins {
......
alias(libs.plugins.hiltAndroid) apply false
alias(libs.plugins.google.devtools.ksp)
}
三、配置应用模块的build.gradle.kts
最后在应用模块的build.gradle.kts配置如下内容:
typescript
plugins {
......
alias(libs.plugins.google.devtools.ksp)
alias(libs.plugins.hiltAndroid)
}
......
dependencies {
implementation(libs.hilt.android)
ksp(libs.hilt.compiler)
......
}
四、测试
在模块中创建一个应用程序,如下:
typescript
@HiltAndroidApp
class SomeApp: Application() {
override fun onCreate() {
super.onCreate()
}
}
然后,将该SomeApp配置到AndroidManifest.xml的application元素中,类似如下内容:
typescript
<application
android:name=".SomeApp"
....>
</application>
参考文献:
使用Hilt实现依赖项注入 https://developer.android.google.cn/training/dependency-injection/hilt-android?hl=zh-cn [EB/OL]