【发布时间】:2016-01-05 14:02:36
【问题描述】:
我有一个风味的 android 构建,并且我试图仅在构建特定风味时运行任务。
在我的 Gradle 中
android {
compileSdkVersion 21
buildToolsVersion "21.1.2"
defaultConfig {
minSdkVersion 16
targetSdkVersion 21
versionCode 70
versionName "4.0.1"
multiDexEnabled = true
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
productFlavors {
def versionNumber = "4.0"
unitTest
up {
applicationId "com.livelys.up"
}
down {
applicationId "com.livelys.down"
}
strange {
applicationId "com.livelys.strange"
}
}
sourceSets {
main {
java.srcDirs = ['src/main/java']
resources.srcDirs = ['src/main/res']
}
strange {
java.srcDirs = ['src/strange/java']
resources.srcDirs = ['src/strange/res']
}
unitTest {
java.srcDirs = ['src/test/java']
assets {
srcDirs = ['src/test/assets']
}
}
}
}
def buildAliases = [
'default' : ['clean', 'assemble', 'testUnitTestDebug'],
'up' : ['clean', 'assembleUp', 'testUnitTestDebug'],
'down' : ['clean', 'assembleDown', 'testUnitTestDebug'],
'strange' : ['clean', 'doMagic', 'assembleStrange']
]
task magic << {
File srcFile = file('src/partner/res/values/magic.xml')
def content = srcFile.text
def pcode = System.getProperty('Param1')
def defaultLocation = System.getProperty('Param2')
srcFile.text = content.replaceAll("%%%P1%%%","${pcode}").replaceAll("%%%P2%%%","${defaultLocation}")
}
我想经营万智牌,当且仅当我正在打造奇怪的风味。参数来自 Jenkins 构建脚本,用于重写应用程序的自定义版本。我不想为每个自定义版本维护一个自定义风格,因为这将成为维护的噩梦。
【问题讨论】: