Android Studio创建奇怪的构建类型

时间:2014-05-15 21:47:19

标签: android android-studio android-gradle

我在Android Studio中创建了新的应用程序,并将我的gradle文件添加到两个版本中。遗憾的是IDE为我生成了一些带有前缀adsenseTag的奇怪构建类型,我不知道如何删除它。

buildTypes {
    release {
        runProguard true
        proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
    }

    debug.initWith(buildTypes.release)
    debug {
        debuggable true
        runProguard false
        signingConfig signingConfigs.debug
    }
}

productFlavors {
    free {
        packageName freePackage

        buildConfigField "java.lang.String", "AD_SENSE_TAG", "\"$adsenseTagFree\""
    }

    paid {
        packageName paidPackage

        buildConfigField "java.lang.String", "AD_SENSE_TAG", "\"$adsenseTagPaid\""
    }
} 

这是我的Build Variants窗口的屏幕:

enter image description here

1 个答案:

答案 0 :(得分:1)

你想用GString表示法($中的"\"$adsenseTagFree\"")来完成什么?这就是令人困惑的 - 在我的测试项目中,如果我删除$,它会正常运行。需要进行一些研究才能确切地知道发生了什么,但我知道它发生在Gradle级别,而不是Android Studio级别,因为从命令行运行gradlew tasks会显示相同的虚假任务名称。我怀疑它与在构建文件评估/执行过程中扩展GString的确切时间有关。

如果您不需要$表示法,那么只需删除它;如果你这样做,那就提供你想要用它完成的更多细节。