如何从gradle确定调试版本?

时间:2016-10-28 06:53:24

标签: android gradle android-gradle

我想在BuildConfig文件中为Debug和Release构建切换String值:

 def api= "\"api\"";

        if (...){// What to set here to determine is build debug or not ?
            api= "\"api-debug\"";
        }


defaultConfig {
  ...
    buildConfigField "String", "API", "${api}"
 ...
}

2 个答案:

答案 0 :(得分:3)

您应该在buildConfigField的范围内设置多个buildTypes,如下所示:

android {
    // ...
    buildTypes {
        debug {
            buildConfigField "String", "API", "api-debug"
        }
        // ...
    }    
}

有关详细信息,请参阅例如this article

答案 1 :(得分:1)

您也可以通过创建单独的资源文件夹来实现此目的。但是如果你想在gradle文件中实现它,那么通过添加这些行来更新你的build.gradle,为两个版本创建单独的字符串

android {
    ...
    buildTypes {
        release {
            ...
            resValue "string", "api_string", "api-release\"
        }
        debug {
            ...
            resValue "string", "api_string", "api-debug\"
        }
    }
}

添加这些行后,构建项目,您可以使用context.getString(R.string.api_string)在java中获取字符串,但请注意,strings.xml中的api_string名称不应包含任何字符串。