为了方便对不同版本或不同环境等等代码的管理有时候需要代码做一些分类, 把代码按照类型分别放在不同的文件夹进行管理.
为了让项目识别到添加的文件夹, 需要修改默认的相关路径配置
Android项目文件夹可配置项
// 模块下build.gradleandroid{sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res']assets.srcDirs = ['assets']jniLibs.srcDirs = ['libs']}}}// 配置示例android {sourceSets {main {def javaDirs = ["$projectDir/src/main/java","$projectDir/src/code/title/java"]def resDirs = ["$projectDir/src/main/res","$projectDir/src/code/title/res"]java.srcDirs = javaDirsres.srcDirs = resDirs}}}
多版本配置
// 模块下build.gradle内的android下productFlavors {// temp 版本temp {applicationId "com.emao.taochemao.home.debug"manifestPlaceholders = [app_name: "xxxx", icon: "@mipmap/ic_launcher_xxxx"resValue("string", "baseUrl", "xxxxxxx")sourceSets {main {manifest.srcFile 'AndroidManifest.xml'java.srcDirs = ['src']resources.srcDirs = ['src']aidl.srcDirs = ['src']renderscript.srcDirs = ['src']res.srcDirs = ['res']assets.srcDirs = ['assets']jniLibs.srcDirs = ['libs']}}}// debug 版本debug {applicationId "com.emao.taochemao.home.debug"sourceSets {main {manifest.srcFile './debug/AndroidManifest.xml'}}}}
统一编译配置
// 项目根目录build.gradlesubprojects {afterEvaluate {project ->if (project.hasProperty("android")) {android {compileSdkVersion = rootProject.ext.android.compileSdkVersionbuildToolsVersion = rootProject.ext.android.buildToolsVersion}}}}
添加代码/资源目录
// 配置示例android {sourceSets {main {def javaDirs = ["$projectDir/src/main/java","$projectDir/src/code/title/java"]def resDirs = ["$projectDir/src/main/res","$projectDir/src/code/title/res"]java.srcDirs = javaDirsres.srcDirs = resDirs}}}
