Android Hilt多模块开发:是否需为每个模块添加插件?
多模块Android应用中Hilt插件的添加规则
首先在根项目的
build.gradle(或build.gradle.kts)中配置Hilt的classpath,这是所有模块的基础依赖:buildscript { dependencies { classpath 'com.google.dagger:hilt-android-gradle-plugin:对应版本号' } }Kotlin脚本版本:
buildscript { dependencies { classpath("com.google.dagger:hilt-android-gradle-plugin:对应版本号") } }主应用模块(:app):必须应用
com.google.dagger.hilt.android插件,同时要创建带有@HiltAndroidApp注解的Application类,这是Hilt初始化的核心入口:plugins { id 'com.android.application' id 'com.google.dagger.hilt.android' }Library模块:如果你的library模块需要用到Hilt的依赖注入能力(比如定义
@Module、使用@Inject标记构造函数、创建@HiltViewModel等),就需要应用com.google.dagger.hilt.android.plugin插件;如果模块不涉及任何Hilt相关注解,完全不需要添加Hilt插件:plugins { id 'com.android.library' id 'com.google.dagger.hilt.android.plugin' }
补充说明:所有使用Hilt的模块,都要在各自的依赖中添加Hilt的核心库和注解处理器,比如主模块和需要Hilt的library模块都要添加:
dependencies { implementation 'com.google.dagger:hilt-android:对应版本号' kapt 'com.google.dagger:hilt-compiler:对应版本号' // Java项目用annotationProcessor替代kapt }
内容的提问来源于stack exchange,提问作者htafoya
相关产品推荐
相关产品推荐

