例えば、debug build type
と全く同じコードを利用するdevelop build type
を作成したい場合があるとする。
その場合、普通に作ると同じコードをそれぞれのbuild type毎に用意する必要があるが、sourceSets
を使うとbuild typeが実際に参照するソースを制御できる。
通常develop build type
はsrc/develop
ディレクトリ以下を見にいくが、それをsrc/debug
以下を見にいくように変更してしまう。
android {
sourceSets {
develop {
manifest.srcFile 'src/debug/AndroidManifest.xml'
java.srcDirs = ['src/debug/java']
res.srcDirs = ['src/debug/res']
}
}
}
また、AndroidManifest.xmlだけsrc/develop
ディレクトリに置いておきたいなら次のようにすれば良い。
android {
sourceSets {
develop {
java.srcDirs = ['src/debug/java']
res.srcDirs = ['src/debug/res']
}
}
}
develop build type
のsrc/develop
以下にあるAndroidManifest.xmlからsrc/debug
以下のApplicationクラスを使用したい場合でも問題なく参照できる。