Jetpack Compose+Hilt集成后kapt编译失败求助
解决kaptDebugKotlin构建失败问题
针对你添加AppModule后出现的:app:kaptDebugKotlin任务失败问题,以下是具体排查和修复步骤:
1. 移除重复的Hilt编译器依赖
你在模块依赖中同时引入了hilt-compiler和hilt-android-compiler,这两者功能重复(hilt-android-compiler已包含hilt-compiler),会导致编译冲突。修改模块build.gradle的依赖部分:
implementation libs.hilt kapt libs.hilt.android.compiler // 仅保留这一个编译器依赖 implementation libs.hilt.navigation.compose
2. 升级Hilt版本以兼容AGP和Kotlin
当前Hilt 2.44版本过旧,与AGP 8.4.1、Kotlin 1.9.0兼容性不足。在版本目录文件中升级Hilt版本:
[versions] hiltversion = "2.48" [plugins] dagger-hilt = { id = "com.google.dagger.hilt.android", version.ref = "hiltversion" }
3. 添加@HiltAndroidApp注解的Application类
Hilt要求必须存在一个标注@HiltAndroidApp的Application类,否则kapt无法生成必要的依赖注入代码:
package com.beliaja.frapomate import android.app.Application import dagger.hilt.android.HiltAndroidApp @HiltAndroidApp class MyApplication : Application()
同时在AndroidManifest.xml中指定该Application:
<application android:name=".MyApplication" <!-- 其他原有属性 --> >
4. 统一Retrofit与Converter版本
当前Retrofit版本为2.9.0,但Converter-Gson版本是2.4.0,版本不匹配会引发编译错误。在版本目录文件中修改:
[versions] rerofitGsonCv = "2.9.0"
5. 升级Kotlin Coroutines版本
Kotlin 1.9.0需要匹配更高版本的Coroutines,在版本目录文件中升级:
[versions] kotlinCoroutines = "1.7.3"
6. 修正Compose编译器版本兼容性
当前Compose BOM 2023.08.00对应的Kotlin Compiler Extension Version应为1.5.3,修改模块build.gradle:
composeOptions { kotlinCompilerExtensionVersion '1.5.3' }
完成以上修改后,执行Clean Project -> Rebuild Project即可解决构建问题。
内容的提问来源于stack exchange,提问作者Nanda Z
相关产品推荐
相关产品推荐

