任务 ':app:kaptDebugKotlin' 执行失败 - 使用 Hilt 时发生错误

Ibr*_*zin 6 android dependency-injection kotlin android-studio dagger-hilt

添加了刀柄依赖项:

构建.gradle(项目)

def hilt_version = "2.38.1"
classpath "com.google.dagger:hilt-android-gradle-plugin:$hilt_version"
Run Code Online (Sandbox Code Playgroud)

构建.gradle(应用程序)

plugins {
 id 'dagger.hilt.android.plugin'
 ....
 }

....

dependencies {
implementation "com.google.dagger:hilt-android:2.38.1"
kapt "com.google.dagger:hilt-compiler:2.38.1"
 .......
 }
Run Code Online (Sandbox Code Playgroud)

我还有一个全局应用程序类:

我的应用程序.kt

@HiltAndroidApp
class MyApplication : Application()
Run Code Online (Sandbox Code Playgroud)

在我的清单中:

清单.xml

<application
    android:allowBackup="true"
    android:name=".global.MyApplication"/>
Run Code Online (Sandbox Code Playgroud)

现在,我创建一个模块

网络模块.kt

@Module
@InstallIn(SingletonComponent::class)
class NetworkModule {

}
Run Code Online (Sandbox Code Playgroud)

当我运行我的代码时出现错误:

**任务“:app:kaptDebugKotlin”执行失败。

执行 org.jetbrains.kotlin.gradle.internal.KaptExecution java.lang.reflect.InitationTargetException 时发生失败(无错误消息)**

当我删除这些时: @Module()@InstallIn()

错误消失了...

可能是什么问题呢?向我显示的错误根本没有提供任何信息。

Ibr*_*zin 1

因此,在针对版本 31 (Android 12) 时集成 Hilt 似乎存在问题。

当我有:

compileSdkVersion 31
buildToolsVersion "31.0.0"

defaultConfig {
   minSdkVersion 21
   targetSdkVersion 31
}
Run Code Online (Sandbox Code Playgroud)

出现错误...

但是当我更改为:

compileSdkVersion 30
buildToolsVersion "30.0.3"

defaultConfig {
   minSdkVersion 21
   targetSdkVersion 30
}
Run Code Online (Sandbox Code Playgroud)

它开始工作,没有那个错误..

针对 Android 12 时集成 Hilt 出现问题(可能)