我已更新到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'
}
}
}
但我需要这样的东西
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'
}
}
}
我无法弄清楚如何做到这一点.
提前致谢
解决方法:
嗯,我相信我解决了它,而且非常简单.您需要检查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'
}
}
到目前为止它工作正常.如果您愿意,可以将“Release”值更改为flavor变体(如果您使用的是flavor).
标签:android,android-studio,gradle,android-gradle,build-gradle
来源: https://codeday.me/bug/20190527/1165744.html