【发布时间】:2013-10-30 09:48:54
【问题描述】:
我正在尝试创建一个在产品风味中调用的自定义方法。
当前构建脚本:
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:评估项目“:Test”时出现问题。
在 GroupableProductFlavorDsl_Decorated{name=flav1, minSdkVersion=-1, 上找不到参数 [test] 的方法 defineHost() targetSdkVersion=-1,renderscriptTargetApi=-1,versionCode=-1, versionName=null,packageName=flavor1,testPackageName=null, testInstrumentationRunner=null,signingConfig=null}。
我正在尝试为每个产品变体向 BuildConfig 添加几个变量。我可以在每个变体的defineHost中写下整个内容,但我希望它干净。打开以获取有关如何在 BuildConfig 中实现变体配置常量的其他建议。
【问题讨论】:
-
defineHost("test2) 上缺少结束引号可能会导致您的问题?
-
抱歉,将脚本转换为公共时出现拼写错误 ;)