我试图创建一个在产品风味中调用的自定义方法。
当前构建脚本:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:0.6.+'
}
}
apply plugin: 'android'
def defineHost(String val) {
buildConfig "public static final String host = \"" + val + "\";";
}
android {
compileSdkVersion 17
buildToolsVersion "18.1.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 18
}
productFlavors {
flavor1 {
packageName "flavor1"
defineHost("test")
}
flavor2 {
packageName "flavor2"
defineHost("test2")
}
}
}
dependencies {
compile 'com.android.support:appcompat-v7:+'
}
我收到以下错误:
Gradle:评估项目“:测试”时出现问题。
在 GroupableProductFlavorDsl_Decorated{name=flav1, minSdkVersion=-1, targetSdkVersion=-1, renderscriptTargetApi=-1, versionCode=-1, versionName=null, packageName=flavor1, testPackageName=null 上找不到参数 [test] 的方法 defineHost() ,testInstrumentationRunner=null,signingConfig=null}。
我试图为每个产品变体向 BuildConfig 添加几个变量。我可以在每个变体的 defineHost 中写下整个内容,但我希望它干净。打开以获取有关如何在 BuildConfig 中实现变体配置常量的其他建议。