I have a multi-module project. From the root of my project (which contains multiple modules), I want to be able to call 'gradle build' and have it use a different AndroidManifest in one of my modules depending on some parameter I pass in. What's the best way to accomplish this? Should I use a gradle.properties file or can I specify a different build.gradle somehow in my settings.gradle file? Any help appreciated!
settings.gradle:
include 'ActionBarSherlock'
include '<main_app>'
build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.4.2'
}
}
apply plugin: 'android'
dependencies {
compile project(':ActionBarSherlock')
}
android {
buildToolsVersion "17.0"
compileSdkVersion 17
sourceSets {
main {
manifest.srcFile 'AndroidManifest.xml'
java.srcDirs = ['src']
resources.srcDirs = ['src']
aidl.srcDirs = ['src']
renderscript.srcDirs = ['src']
res.srcDirs = ['res']
assets.srcDirs = ['assets']
}
}
}
I'm looking for the best way to use a different AndroidManifest.xml, say one I have in //test/AndroidManifest.xml. And I need to be able to specify this change from the command-line. Any ideas?
I solved this by using different build types.
Here's my build.gradle:
You can see that for my utest build, I'm specifying a manifest in a different directory. works.