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

Cow*_*433 14 java android android-studio android-gradle-plugin android-build-type

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

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

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

我检测它的代码是:

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

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

admin {
        debuggable true
        jniDebuggable false
        renderscriptDebuggable false
        minifyEnabled false
        zipAlignEnabled true
    }
Run Code Online (Sandbox Code Playgroud)

任何帮助是极大的赞赏.谢谢

Mah*_*ita 10

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

if (BuildConfig.BUILD_TYPE.contentEquals("admin")) {
   // Do things related to the admin build type.
}
Run Code Online (Sandbox Code Playgroud)


Pi *_*cii 9

您可以查看BuildConfig文件.它是您在创建构建后获得的文件.

对于你的问题.我认为你应该用BuildConfig.FLAVOR而不是BuildConfig.BUILD_TYPE.并记住它们的类型String,所以不需要转换为String with.toString()

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

if (BuildConfig.FLAVOR.contentEquals("admin")) {
    //Do some admin stuff here.
}
Run Code Online (Sandbox Code Playgroud)