2013-12-19 20 views
28

を見つけることができませんでした、バージョン0.4.0へのAndroidのメーカーをアップグレードした後、私は新しいエラーを得た:のAndroid Studioアップデート0.4.0はbuildConfig()

私は1.9

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

gradle-wrapper.properties経由をGradleのためにアップグレード

と今私のプロジェクトが再び構築さbuild.gradleに

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

をGradleのバージョンをアップグレードしました。

私は別のproductFlavors用に​​定義されたいくつかの文字列定数を持っている:

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\";" 
    } 
} 

そして、ここではすべては、Android Studioの3.7私は使用することはできません

答えて

93

で働いていた

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}.

新しいエラーですコメント(長すぎる)。 あなたはそれを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" 

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

buildConfig "public static final boolean MY_FLAG = true;" 

をあなたは今、このような何かのためにそれを交換する必要があります

UPDATE 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のproprety:

buildConfigLine "<value>" 

があなたのために

buildConfigField "<type>", "<name>", "<value>" 
関連する問題