面试题答案
一键面试配置模块依赖关系
- 基础模块(假设模块名为
base
):- 在业务逻辑模块和UI模块的
build.gradle.kts
文件中添加对基础模块的依赖。 - 例如,在业务逻辑模块(假设模块名为
business
)的build.gradle.kts
中:
- 在业务逻辑模块和UI模块的
dependencies {
implementation(project(":base"))
}
- 在UI模块(假设模块名为
ui
)的build.gradle.kts
中:
dependencies {
implementation(project(":base"))
}
- 如果业务逻辑模块也被UI模块依赖,在UI模块的
build.gradle.kts
中还需添加:
dependencies {
implementation(project(":business"))
}
- 避免循环依赖:要确保模块之间的依赖关系不会形成循环,例如
base -> business -> ui -> base
这样的循环依赖是不允许的。
设置模块基本属性
- 模块名称:
- 在每个模块的
settings.gradle.kts
文件中定义模块名称。例如,对于基础模块,在settings.gradle.kts
中:
- 在每个模块的
include(":base")
- 这里
base
就是模块名称,模块路径是projectDir/base
。同样的方式可以定义business
和ui
模块。
- 版本:
- 在根项目的
build.gradle.kts
文件中可以定义一个ext
块来管理版本。例如:
- 在根项目的
ext {
set("appVersion", "1.0.0")
}
- 然后在每个模块的
build.gradle.kts
文件中使用这个版本定义。例如,在任何一个模块(如base
模块)的build.gradle.kts
中:
version = rootProject.ext["appVersion"] as String
这样就设置了该模块的版本为1.0.0
。也可以在每个模块单独设置版本,例如在base
模块的build.gradle.kts
中直接写:
version = "1.0.0"
但统一管理版本更便于维护和更新。