不能在productFlavors添加buildConfigField [英] Cannot add buildConfigField in productFlavors
问题描述
在我的Android {}部分我试图把两种不同的版本类型可以免费和付费应用程序。
不幸的是我得到错误的gradle:
摇篮Android的交通运输项目刷新失败:构建脚本错误,
不支持的摇篮DSL方法找到:'buildConfigField()'!可能
原因可能是: - 您使用的摇篮版本,其中的方法是
没有 - 你没有申请摇篮插件,它提供了方法 - 或
有一个错误在构建脚本
块引用>这是我的Android {}的gradle中构建部分:
安卓{
compileSdkVersion 19
buildToolsVersion19.0.3 defaultConfig {
10的minSdkVersion
targetSdkVersion 19
版本code 1
的versionName1.0
} compileOptions {
sourceCompatibility JavaVersion.VERSION_1_6
targetCompatibility JavaVersion.VERSION_1_6
} buildTypes {
发布 {
runProguard真
proguardFiles getDefaultProguardFile('proguard的-android.txt'),'proguard的-rules.txt
} 调试{
调试的真
runProguard假
}
} productFlavors {
自由 {
软件包名pl.grzeslowski.transport.free
buildConfigFieldtransport.product_flavors.MonetizationTypeMONETIAZATION_TYPEtransport.product_flavors.MonetizationType.FREE
} 支付{
软件包名pl.grzeslowski.transport.paid
buildConfigFieldtransport.product_flavors.MonetizationTypeMONETIAZATION_TYPEtransport.product_flavors.MonetizationType.PAID
}
}
}这是我的控制台日志:
执行任务:[:交通:compileDebugJava]
根据需求配置是一个孵化功能。下载
的http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.8.3/gradle-0.8.3.pom
下载
的http:// repo1 .maven.org / maven2的/ COM /安卓/工具/皮棉/皮棉/ 22.5.3 /绒22.5.3.pom
下载
的http://repo1.maven.org/maven2/com/android/tools/build/builder/0.8.3/builder-0.8.3.pom
下载
<一href=\"http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.pom\" rel=\"nofollow\">http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.pom
下载
HTTP://repo1.maven .ORG / maven2的/ COM /安卓/工具/ sdklib / 22.5.3 / sdklib-22.5.3.pom
下载
的http://repo1.maven.org/maven2/com/android/tools/ddms/ddmlib/22.5.3/ddmlib-22.5.3.pom
下载
<一href=\"http://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.8.3/builder-model-0.8.3.pom\" rel=\"nofollow\">http://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.8.3/builder-model-0.8.3.pom
下载
<一href=\"http://repo1.maven.org/maven2/com/android/tools/build/manifest-merger/22.5.3/manifest-merger-22.5.3.pom\" rel=\"nofollow\">http://repo1.maven.org/maven2/com/android/tools/build/manifest-merger/22.5.3/manifest-merger-22.5.3.pom
下载
的http://repo1.maven.org/maven2/com/android/tools/sdk-common/22.5.3/sdk-common-22.5.3.pom
下载
<一href=\"http://repo1.maven.org/maven2/com/android/tools/build/builder-test-api/0.8.3/builder-test-api-0.8.3.pom\" rel=\"nofollow\">http://repo1.maven.org/maven2/com/android/tools/build/builder-test-api/0.8.3/builder-test-api-0.8.3.pom
下载
HTTP://repo1.maven .ORG / maven2的/ COM /安卓/工具/普通/ 22.5.3 /共22.5.3.pom
下载
的http://repo1.maven.org/maven2/com/android/tools/lint/lint-api/22.5.3/lint-api-22.5.3.pom
下载
HTTP://repo1.maven .ORG / maven2的/ COM /安卓/工具/ dvlib / 22.5.3 / dvlib-22.5.3.pom
下载
<一href=\"http://repo1.maven.org/maven2/com/android/tools/layoutlib/layoutlib-api/22.5.3/layoutlib-api-22.5.3.pom\" rel=\"nofollow\">http://repo1.maven.org/maven2/com/android/tools/layoutlib/layoutlib-api/22.5.3/layoutlib-api-22.5.3.pom
下载
的http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.8.3/gradle-0.8.3.jar
下载
的http:// repo1 .maven.org / maven2的/ COM /安卓/工具/皮棉/皮棉/ 22.5.3 /绒22.5.3.jar
下载
的http://repo1.maven.org/maven2/com/android/tools/build/builder/0.8.3/builder-0.8.3.jar
下载
<一href=\"http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.jar\" rel=\"nofollow\">http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.jar
失败:建立失败,一个异常
其中:构建文件'D:\\ Programowanie \\ GitProjects \\传输\\ Android的交通运输\\运输\\的build.gradle
行:77
出了什么问题:发生问题的评估项目:运输。
找不到参数[transport.product_flavors.MonetizationType]的方法buildConfigField()
GroupableProductFlavorDsl_Decorated {名=免费的minSdkVersion = -1,
targetSdkVersion = -1,renderscriptTargetApi = -1,
renderscriptSupportMode = NULL,renderscriptNdkMode = NULL,
版本code = -1,=的versionName空,
的packageName = transport.free,testPackageName = NULL,
testInstrumentationRunner = NULL,testHandleProfiling = NULL,
testFunctionalTest = NULL,signingConfig = NULL,resConfig = NULL}
块引用>
尝试:用--stacktrace选项获取堆栈跟踪运行。与--info或--debug选项来运行,以获得更多的日志输出。
构建失败
总时间:9.781秒。
块引用>解决方案的
buildConfigField
行正确的语法是:buildConfigField布尔,MY_FLAG,真
在换句话说,字符串需要用逗号分隔。
In my android{} section I tried to put two different build types for may free and paid app.
Sadly I'm getting gradle error:
Gradle 'android-Transport' project refresh failed: Build script error, unsupported Gradle DSL method found: 'buildConfigField()'! Possible causes could be: - you are using Gradle version where the method is absent - you didn't apply Gradle plugin which provides the method - or there is a mistake in a build script
This is my android{} section in gradle build:
android { compileSdkVersion 19 buildToolsVersion "19.0.3" defaultConfig { minSdkVersion 10 targetSdkVersion 19 versionCode 1 versionName "1.0" } compileOptions { sourceCompatibility JavaVersion.VERSION_1_6 targetCompatibility JavaVersion.VERSION_1_6 } buildTypes { release { runProguard true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt' } debug { debuggable true runProguard false } } productFlavors { free { packageName "pl.grzeslowski.transport.free" buildConfigField "transport.product_flavors.MonetizationType" "MONETIAZATION_TYPE" "transport.product_flavors.MonetizationType.FREE" } paid { packageName "pl.grzeslowski.transport.paid" buildConfigField "transport.product_flavors.MonetizationType" "MONETIAZATION_TYPE" "transport.product_flavors.MonetizationType.PAID" } } }
And this is my console log:
Executing tasks: [:transport:compileDebugJava]
Configuration on demand is an incubating feature. Download http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.8.3/gradle-0.8.3.pom Download http://repo1.maven.org/maven2/com/android/tools/lint/lint/22.5.3/lint-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/build/builder/0.8.3/builder-0.8.3.pom Download http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/sdklib/22.5.3/sdklib-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/ddms/ddmlib/22.5.3/ddmlib-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.8.3/builder-model-0.8.3.pom Download http://repo1.maven.org/maven2/com/android/tools/build/manifest-merger/22.5.3/manifest-merger-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/sdk-common/22.5.3/sdk-common-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/build/builder-test-api/0.8.3/builder-test-api-0.8.3.pom Download http://repo1.maven.org/maven2/com/android/tools/common/22.5.3/common-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/lint/lint-api/22.5.3/lint-api-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/dvlib/22.5.3/dvlib-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/layoutlib/layoutlib-api/22.5.3/layoutlib-api-22.5.3.pom Download http://repo1.maven.org/maven2/com/android/tools/build/gradle/0.8.3/gradle-0.8.3.jar Download http://repo1.maven.org/maven2/com/android/tools/lint/lint/22.5.3/lint-22.5.3.jar Download http://repo1.maven.org/maven2/com/android/tools/build/builder/0.8.3/builder-0.8.3.jar Download http://repo1.maven.org/maven2/com/android/tools/lint/lint-checks/22.5.3/lint-checks-22.5.3.jar
FAILURE: Build failed with an exception.
Where: Build file 'D:\Programowanie\GitProjects\transport\android-Transport\transport\build.gradle' line: 77
What went wrong: A problem occurred evaluating project ':transport'.
Could not find method buildConfigField() for arguments [transport.product_flavors.MonetizationType] on GroupableProductFlavorDsl_Decorated{name=free, minSdkVersion=-1, targetSdkVersion=-1, renderscriptTargetApi=-1, renderscriptSupportMode=null, renderscriptNdkMode=null, versionCode=-1, versionName=null, packageName=transport.free, testPackageName=null, testInstrumentationRunner=null, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=null}.
Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED
Total time: 9.781 secs
解决方案The correct syntax for the
buildConfigField
lines is:buildConfigField "boolean", "MY_FLAG", "true"
In other words, the strings need to be separated by commas.
这篇关于不能在productFlavors添加buildConfigField的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!