在Android開發中,SourceSets是用于組織和配置項目中的源代碼、資源文件和依賴項的工具。要區分不同模塊,你可以在項目的根目錄下的build.gradle
文件中定義不同的sourceSets。以下是一個示例,展示了如何在一個Android項目中區分兩個不同的模塊(例如,module1
和module2
):
// Project-level build.gradle file
allprojects {
repositories {
google()
mavenCentral()
}
}
subprojects {
apply plugin: 'com.android.library' // or 'com.android.application'
android {
compileSdkVersion 30
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
// Define source sets for each module
task sourceSetsForModule(type: SyncTask, group: 'build') {
from 'src/main/java'
into 'src/main/java'
}
task sourceSetsForModule2(type: SyncTask, group: 'build') {
from 'src/main/java/module2'
into 'src/main/java/module2'
}
sourceSets {
main {
java {
srcDirs = ['src/main/java']
}
resources {
srcDirs = ['src/main/res']
}
}
module1 {
java {
srcDirs = ['src/main/java/module1']
}
resources {
srcDirs = ['src/main/res/module1']
}
}
module2 {
java {
srcDirs = ['src/main/java/module2']
}
resources {
srcDirs = ['src/main/res/module2']
}
}
}
}
在這個示例中,我們首先定義了一個名為sourceSetsForModule
和sourceSetsForModule2
的任務,它們分別用于設置每個模塊的源代碼和資源文件路徑。然后,我們在sourceSets
塊中為每個模塊定義了相應的Java和資源配置。
這樣,你就可以在項目中區分不同模塊的源代碼和資源文件了。當你構建項目時,Gradle會根據這些配置來編譯和打包相應的模塊。