Gradle - 在buildscript依赖项中添加条件类路径

lio*_*ibe 5 android gradle android-studio build.gradle android-gradle-plugin

我已更新到Android Studio 2.2,它默认使用Gradle Plugin v2.2.0,并且更适合调试目的.出于分配目的,我仍然必须使用v2.1.3.我在考虑在项目gradle脚本中添加条件命令,但我不知道该怎么做.以下测试有效

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        if (project.name.startsWith("X"))
        {
            classpath 'com.android.tools.build:gradle:2.1.3'
        }
        else
        {
            classpath 'com.android.tools.build:gradle:2.2.0'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但我需要这样的东西

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        if (IS_RELEASE_VERSION)
        {
            classpath 'com.android.tools.build:gradle:2.1.3'
        }
        else
        {
            classpath 'com.android.tools.build:gradle:2.2.0'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我无法弄清楚如何做到这一点.提前致谢

lio*_*ibe 6

嗯,我相信我解决了它,而且非常简单.你需要检查一下gradle.startParameter.taskNames房产.这是我编码的方式:

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        if (gradle.startParameter.taskNames.size() > 0 && gradle.startParameter.taskNames.get(0).contains("Release"))
        {
            classpath 'com.android.tools.build:gradle:2.1.3'
        }
        else
        {
            classpath 'com.android.tools.build:gradle:2.2.0'
        }
        classpath 'com.google.gms:google-services:3.0.0'
    }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止它工作正常.如果您愿意,可以将"Release"值更改为flavor变体(如果您使用的是flavor).