Android Studio:检查自定义构建类型

时间:2016-03-19 17:53:27

标签: java android android-studio android-gradle android-build-type

我试图让一段代码检测到BuildType,但我有点卡住了。 每当我输入IF语句的代码时,它都会显示

  

不兼容的类型。   必需:布尔值。   发现:java.lang.String

当我认为如果最后有.toString()那么它必须是一个字符串。

我检测它的代码是:

String buildtype = BuildConfig.BUILD_TYPE.toString();
if (buildtype = "admin") {
    //Do some admin stuff here.
}

我在build.gradle文件中设置了管理BuildType,如下所示:

admin {
        debuggable true
        jniDebuggable false
        renderscriptDebuggable false
        minifyEnabled false
        zipAlignEnabled true
    }

非常感谢任何帮助。感谢

3 个答案:

答案 0 :(得分:10)

如果您想要使用自定义构建类型而不是产品风格,可以使用的是:

if (BuildConfig.BUILD_TYPE.contentEquals("admin")) {
   // Do things related to the admin build type.
}

答案 1 :(得分:8)

您可以查看BuildConfig文件。这是创建构建后将获得的文件。

对于你的问题。我认为您应该使用BuildConfig.FLAVOR而不是BuildConfig.BUILD_TYPE。并记住它们的类型为String,因此不需要使用.toString()

转换为String

最后,您应该使用字符串比较方法。所以,你的代码应该是

if (BuildConfig.FLAVOR.contentEquals("admin")) {
    //Do some admin stuff here.
}

答案 2 :(得分:0)

假设你已经

android {

buildTypes {
    release {
    
    }
    debug {

    }
    canary {

    }
    beta {

    }
}

在代码中,您可以检查类似

import com.yourpackagename.BuildConfig

if (BuildConfig.BUILD_TYPE == "canary") {
        Log.d("Build Type ","I'm canary")
    }