如何在Android模块内添加子模块?无需根settings.gradle声明
Android模块内嵌子模块,无需根settings声明的实现方法
操作步骤
- 保持原项目结构不变:
-root - app - module1 - module2 - libs - submodule
- 在
module2目录下新建settings.gradle.kts文件,写入以下内容:
include(":libs:submodule") project(":libs:submodule").projectDir = file("libs/submodule")
- 修改
module2的build.gradle.kts依赖配置,直接引用内部子模块:
implementation(project(":libs:submodule"))
- 根目录的
settings.gradle.kts保留原有模块声明即可,无需添加submodule:
rootProject.name = "Sample App" include(":app") include(":module1") include(":module2")
原理说明
Gradle允许每个模块单独配置自己的settings文件,用来管理自身范围内的子模块。当构建module2时,会优先加载它自己的settings配置,自动识别内部的submodule;根目录的settings只需要知晓module2的存在,无需关心其内部子模块结构,实现了模块的独立管理。
内容的提问来源于stack exchange,提问作者Bitwise DEVS
相关产品推荐
相关产品推荐

