不能在productFlavors添加buildConfigField能在、productFlavors、buildConfigField

由网友(泪、自己尝,)分享简介:在我的Andr​​oid {}部分我试图把两种不同的版本类型可以免费和付费应用程序。不幸的是我得到错误的gradle:  摇篮Android的交通运输项目刷新失败:构建脚本错误,  不支持的摇篮DSL方法找到:'buildConfigField()'!可能  原因可能是: - 您使用的摇篮版本,其中的方法是  没有 -...

在我的Andr​​oid {}部分我试图把两种不同的版本类型可以免费和付费应用程序。

不幸的是我得到错误的gradle:

  

摇篮Android的交通运输项目刷新失败:构建脚本错误,  不支持的摇篮DSL方法找到:'buildConfigField()'!可能  原因可能是: - 您使用的摇篮版本,其中的方法是  没有 - 你没有申请摇篮插件,它提供了方法 - 或  有一个错误在构建脚本

这是我的Andr​​oid {}的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        }    }} 
我的VC6.0怎么只能build不能compile

这是我的控制台日志:

  

执行任务:[:交通: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  下载  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  下载  http://repo1.maven.org/maven2/com/android/tools/build/builder-model/0.8.3/builder-model-0.8.3.pom  下载  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  下载  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   下载  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  下载  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:ProgramowanieGitProjectstransportandroid-Transporttransportbuild.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.

阅读全文

相关推荐

最新文章