【问题标题】:How do I do flavor specific tasks in a parameterized gradle build如何在参数化 gradle 构建中执行特定任务
【发布时间】: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 构建脚本,用于重写应用程序的自定义版本。我不想为每个自定义版本维护一个自定义风格,因为这将成为维护的噩梦。

【问题讨论】:

    标签: android jenkins gradle


    【解决方案1】:

    你应该去运行 -> 编辑配置...,点击添加 -> gradle

    Gradle 项目: 输入您的项目名称(ctrl+space 以查看提示)。比如project:hello-world
    任务:输入:ProjectName:magic,没有提示。喜欢:hello-world:magic(一开始别忘了冒号!)

    【讨论】:

      猜你喜欢
      • 2015-08-31
      • 1970-01-01
      • 2013-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-28
      相关资源
      最近更新 更多