MST

星途 面试题库

面试题:Kotlin中Gradle构建脚本如何配置多模块项目

假设你有一个Kotlin项目,需要拆分成多个模块,如一个基础模块、一个业务逻辑模块和一个UI模块,请描述在Gradle构建脚本中如何配置这些模块之间的依赖关系,以及如何设置每个模块的基本属性,如模块名称、版本等。
43.5万 热度难度
编程语言Kotlin

知识考点

AI 面试

面试题答案

一键面试

配置模块依赖关系

  1. 基础模块(假设模块名为base
    • 在业务逻辑模块和UI模块的build.gradle.kts文件中添加对基础模块的依赖。
    • 例如,在业务逻辑模块(假设模块名为business)的build.gradle.kts中:
dependencies {
    implementation(project(":base"))
}
  • 在UI模块(假设模块名为ui)的build.gradle.kts中:
dependencies {
    implementation(project(":base"))
}
  • 如果业务逻辑模块也被UI模块依赖,在UI模块的build.gradle.kts中还需添加:
dependencies {
    implementation(project(":business"))
}
  1. 避免循环依赖:要确保模块之间的依赖关系不会形成循环,例如base -> business -> ui -> base这样的循环依赖是不允许的。

设置模块基本属性

  1. 模块名称
    • 在每个模块的settings.gradle.kts文件中定义模块名称。例如,对于基础模块,在settings.gradle.kts中:
include(":base")
  • 这里base就是模块名称,模块路径是projectDir/base。同样的方式可以定义businessui模块。
  1. 版本
    • 在根项目的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"

但统一管理版本更便于维护和更新。