在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会根据这些配置来编译和打包相应的模块。