2013-12-19 6 views
28

버전 0.4.0 안드로이드 Studio를 업그레이드 한 후 나는 새로운 오류가있어 : 나는 gradle-wrapper.properties를 통해 1.9 Gradle을 업그레이드안드로이드 스튜디오 업데이트 0.4.0가 buildConfig를 찾을 수 없습니다()

distributionUrl=http\://services.gradle.org/distributions/gradle-1.9-all.zip 

dependencies { 
    classpath 'com.android.tools.build:gradle:0.7.+' 
} 

이제 내 프로젝트를 다시 구축 build.gradle

에서 Gradle을 버전을 업그레이드했습니다.

나는 다른 productFlavors에 대해 정의 된 일부 문자열 상수 있습니다

Could not find method buildConfig() for arguments [public static final String MY_KEY = "";] on GroupableProductFlavorDsl_Decorated{name=local, minSdkVersion=-1, targetSdkVersion=-1, renderscriptTargetApi=-1, renderscriptSupportMode=null, renderscriptNdkMode=null, versionCode=-1, versionName=null, packageName=null, testPackageName=null, testInstrumentationRunner=null, testHandleProfiling=null, testFunctionalTest=null, signingConfig=null, resConfig=null}.

모든 안드로이드 Studio와 함께 작업 한 새로운 오류가 여기

productFlavors { 
    local { 
     buildConfig "public static final String MY_KEY = \"\";" 
    } 

    alpha { 
     buildConfig "public static final String MY_KEY = \"XXXXX-XXXXX-XXX\";" 
    } 

    beta { 
     buildConfig "public static final String MY_KEY = \"YYYYY-YYYYY-YYY\";" 
    } 
} 

그리고 3.7

답변

93

내가 사용할 수 없습니다 댓글 (너무 깁니다). gradle 1.9의 새로운 기능에서 찾을 수 있습니다.

DSL Changes: buildConfigLine is replaced by buildConfigField :

buildConfigField "boolean", "MY_FLAG", "true" 

You can override fields defined in default config in flavors or build types. See 'basic' sample.

Build Config also now automatically contain more constants for PACKAGE_NAME , VERSION_CODE , VERSION_NAME , BUILD_TYPE , FLAVOR as well as FLAVOR_<group> if there are several flavor dimensions.

당신은이 같은 라인이 그래서 경우 : 귀하의 경우에는

buildConfigField "boolean", "MY_FLAG", "true" 

:

buildConfig "public static final boolean MY_FLAG = true;" 

당신은 지금이 같은 뭔가를 교체해야합니다

buildConfigField "String" , "MY_KEY" , "\"XXXXX-XXXXX-XXX\"" 

업데이트 2015년 12월 9일 : 새로운 실험 플러그인 (0.2.1) 당신이 사용해야와

:

buildConfigField "<type>", "<name>", "<value>" 

당신 경우 :

buildConfigFields.with { 
       create() { 
        type = "String" 
        name = "MY_KEY" 
        value = "MY_VALUE" 
       } 
      } 
+3

감사로 변경하여 도움! 잘 작동합니다. 여기에 몇 가지 추가 정보가 있습니다 https://plus.google.com/+AndroidDevelopers/posts/2XCHLizKpWs – passsy

+0

그래서 어떻게 ** BuildConfig.BUILD_TYPE **에 액세스합니까?나는 그것을 얻지 않는다. –

3

이 버전은 변화를 소개합니다 다음과 같은 행이 있습니다.

buildConfig "public static final boolean FLAG = true;" 

이제 SE : 문자열

buildConfigField "boolean", "FLAG", "true" 

이 값

사용할 수 :

buildConfigField "String", "FOO", "\"foo\"" 

참고 : 이전의 DSL을 속성 :

buildConfigLine "<value>" 

buildConfigField "<type>", "<name>", "<value>"