Android Dagger Hilt模块通信:Module1如何访问互不依赖的Module2?
让Module1访问Module2的配置方案
这完全可行,直接通过Gradle添加模块依赖即可,具体步骤如下:
1. 修改Module1的构建配置文件
根据你使用的Gradle语法(Groovy或Kotlin DSL),在Module1的build.gradle(或build.gradle.kts)的dependencies块中添加对Module2的依赖:
Groovy 语法(build.gradle)
dependencies { // 保留原有依赖,新增以下行 implementation project(':Module2') }
Kotlin DSL 语法(build.gradle.kts)
dependencies { // 保留原有依赖,新增以下行 implementation(project(":Module2")) }
2. 同步Gradle项目
执行Gradle同步操作:
- 在Android Studio中点击右上角的「Sync Project with Gradle Files」按钮
- 或者在终端运行命令:
./gradlew sync
关键注意事项
- 确保Module2中需要被Module1访问的类、接口等的访问修饰符为
public(Android默认是包级私有,必须显式声明才能跨模块访问) - 禁止循环依赖:不要给Module2添加对Module1的依赖,否则会触发Gradle循环依赖错误导致构建失败
- 依赖类型选择:
- 若仅Module1内部使用Module2的功能,用
implementation即可,能缩小依赖传递范围 - 若需要让上层的App模块也能通过Module1访问到Module2的API,改用
api project(':Module2')
- 若仅Module1内部使用Module2的功能,用
内容的提问来源于stack exchange,提问作者BejanCorneliu
相关产品推荐
相关产品推荐

