如何在gradle中使用defaultConfig外的applicationId?

时间:2016-01-30 11:48:36

标签: android android-gradle build.gradle

这可能是一个愚蠢的静止,但我希望在设备上同时运行app的调试和发布版本。

我遇到的问题是内容解析器权限。所以我做了通常的applicationId jazz,但现在我想避免使用像这样的代码

public static final String AUTHORITY = BuildConfig.APPLICATION_ID + ".provider";

铺设,所以我想我会为CONTENT_AUTHORITY做一个BuildConfigField,它会在buildfile中做这样的concat

buildTypes {
    debug {
        applicationIdSuffix ".debug"
        BuildConfigField "String", "CONTENT_AUTHORITY", "\"${applicationId}.provider\"")
    }
    release {
        ....
    }
}

但它不起作用,gradle / groovy语法让我感到困惑,请帮忙吗?

  

错误:(32,0)无法找到属性'applicationId'   BuildType_Decorated {name = debug,debuggable = true,   testCoverageEnabled = false,jniDebuggable = false,   pseudoLocalesEnabled = false,renderscriptDebuggable = false,   renderscriptOptimLevel = 3,applicationIdSuffix = .debug,   versionNameSuffix = null,minifyEnabled = false,zipAlignEnabled = true,...

1 个答案:

答案 0 :(得分:3)

尝试以

的形式访问它
defaultConfig.applicationId

而不仅仅是

applicationId

应该为你提供价值。