Gradle - 在 buildscript 依赖项中添加条件类路径 [英] Gradle - Add conditional classpath in buildscript dependencies
问题描述
我已经更新到 Android Studio 2.2,它默认使用 Gradle 插件 v2.2.0,并且更适合调试.出于分发目的,我仍然必须使用 v2.1.3.我想在项目 gradle 脚本中添加一个条件命令,但我不知道该怎么做.以下测试有效
I have updated to Android Studio 2.2, which uses by default the Gradle Plugin v2.2.0, and is much better for debugging purposes. For disribution purposes, I must still use v2.1.3. I was thinking of adding a conditional command in the project gradle script, but I am not sure how to do it. The following test works
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'
}
}
}
但我需要它像
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'
}
}
}
我不知道该怎么做.提前致谢
and I cannot figure out how to do it. Thanks in advance
推荐答案
好吧,我相信我解决了,而且很简单.您需要检查 gradle.startParameter.taskNames
属性.这是我的编码方式:
Well, I believe I solved it, and it is very simple. You need to check the gradle.startParameter.taskNames
property. Here is how I coded it:
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'
}
}
到目前为止它工作正常.如果您愿意,可以将发布"值更改为风味变体(如果您使用的是风味).
So far it is working fine. If you prefer, you can change the "Release" value, to a flavor variant (if you are using flavors).
这篇关于Gradle - 在 buildscript 依赖项中添加条件类路径的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!