gpt4 book ai didi

android - 如何在 Gradle 中获取当前构建类型

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:26:27 24 4
gpt4 key购买 nike

我的问题很直接也很容易理解。

问题

在 Gradle 中,有什么方法可以在运行时获取当前构建类型。例如,在运行 assembleDebug 任务时,build.gradle 文件中的任务能否根据该任务与调试构建变体相关的事实做出决策?

示例代码

apply plugin: 'com.android.library'
ext.buildInProgress = ""

buildscript {

repositories {
maven {
url = url_here
}
}

dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
}
}


configurations {
//get current build in progress here e.g buildInProgress = this.getBuildType()
}

android {
//Android build settings here
}

buildTypes {
release {
//release type details here
}

debug {
//debug type details here
}

anotherBuildType{
//another build type details here
}

}
}

dependencies {
//dependency list here
}

repositories{
maven(url=url2_here)
}


task myTask{
if(buildInProgress=='release'){
//do something this way
}
else if(buildInProgress=='debug'){
//do something this way
}
else if(buildInProgress=='anotherBuildType'){
//do it another way
}
}

总结

有没有办法让我在 myTask{} 中准确获取正在进行的构建类型?

最佳答案

您可以通过解析您的 applicationVariants 来获取准确的构建类型:

applicationVariants.all { variant ->
buildType = variant.buildType.name // sets the current build type
}

一个实现可能如下所示:

def buildType // Your variable

android {
applicationVariants.all { variant ->
buildType = variant.buildType.name // Sets the current build type
}
}

task myTask{
// Compare buildType here
}

你也可以查看thisthis相似的答案。

更新

This通过 this 回答问题帮助提问者解决了问题。

关于android - 如何在 Gradle 中获取当前构建类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50179168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com