集成dagger.hilt.android.plugin失败提示缺失BaseExtension类如何解决
Hilt应用插件报错解决方案
报错的核心原因是你使用的 Hilt 2.38.1版本不兼容Android Gradle Plugin(AGP) 7.1.0-alpha12:AGP 7.0+版本重构了内部API,移除了旧的
com.android.build.gradle.BaseExtension类,而低版本Hilt插件仍然依赖这个旧API,因此加载失败。
推荐方案:升级Hilt版本到兼容AGP 7.x的版本
将所有Hilt、Dagger相关依赖的版本统一升级到2.40.5及以上的稳定版,比如用2.44版本,需要修改以下3个文件:
1. 修改settings.gradle文件
把dagger.hilt.android.plugin的版本改成对应高版本:
id 'dagger.hilt.android.plugin' version '2.44'
2. 修改项目级build.gradle文件
修改hilt插件的classpath版本:
classpath 'com.google.dagger:hilt-android-gradle-plugin:2.44'
3. 修改Module级build.gradle文件
把所有dagger、hilt开头的依赖版本全部统一为2.44,修正之前混用2.37、2.38.1的问题:
kapt "com.google.dagger:hilt-android-compiler:2.44" // Dagger Core implementation "com.google.dagger:dagger:2.44" kapt "com.google.dagger:dagger-compiler:2.44" // Dagger Android api 'com.google.dagger:dagger-android:2.44' api 'com.google.dagger:dagger-android-support:2.44' kapt 'com.google.dagger:dagger-android-processor:2.44' // Dagger - Hilt implementation 'com.google.dagger:hilt-android:2.44' kapt 'com.google.dagger:hilt-compiler:2.44' // 测试依赖也同步升级到2.44 androidTestImplementation 'com.google.dagger:hilt-android-testing:2.44' kaptAndroidTest 'com.google.dagger:hilt-compiler:2.44' testImplementation 'com.google.dagger:hilt-android-testing:2.44' kaptTest 'com.google.dagger:hilt-compiler:2.44'
同时可以把module级单独的apply plugin语句移到plugins块里,写法更规范:
plugins { id 'com.android.application' id 'org.jetbrains.kotlin.android' id 'kotlin-kapt' id 'dagger.hilt.android.plugin' }
备选方案:降级AGP版本
如果不想升级Hilt,可以把AGP版本降到4.2.x系列,同时把gradle-wrapper.properties里的gradle版本降到6.7.1版本,也能解决兼容性问题,不过不推荐这种降级方案。
收尾操作
修改完所有配置后,清理缓存重启Android Studio:依次点击菜单栏File -> Invalidate Caches...,勾选清理文件系统缓存选项,重启后重新Sync项目即可。
内容的提问来源于stack exchange,提问作者Hossein Badrnezhad
相关产品推荐
相关产品推荐

