我正在尝试了解 Android 中的模块化是如何工作的。我正在使用 Kotlin DSL。
在每个 build.gradle.kts 文件中,我是否必须添加默认配置,例如 minSdk、目标 SDK 等?换句话说,我是否只能在应用程序模块 build.gradle.kts 文件中设置配置,而在其他模块中(例如功能)是否可以只声明依赖项?
NowInAndroid 应用程序的 build.gradle.kts 文件具有以下代码:
plugins {
id("nowinandroid.android.feature")
id("nowinandroid.android.library.compose")
id("nowinandroid.android.library.jacoco")
}
android {
namespace = "com.google.samples.apps.nowinandroid.feature.bookmarks"
}
dependencies {
implementation(libs.androidx.compose.material3.windowSizeClass)
}
Run Code Online (Sandbox Code Playgroud)
它只声明依赖项和插件,但我认为这些插件中有不同的配置。
我看到的另一种方法是使用继承其他 build.gradle 文件
apply {
(path to build.gradle) file
}
Run Code Online (Sandbox Code Playgroud)
但使用该方法时,我无法声明名称空间,因此我必须将其添加到 build.gradle 文件中,该文件在不同功能之间共享,如果没有它,我将无法访问给定功能模块中的资源。