2014-01-13 22 views
7

Gradleを使用してBuildConfigに複数の行を追加する方法がわかりません。 buildConfigを2回目に呼び出すと、最初のものが消えてしまうようです。Gradle buildConfigを複数回呼び出す

私はもともと別の場所からこのbuildConfigを追加することが、私はこれを行う場合は、最小限の再現可能なテストを作成することができた。

buildTypes { 
    debug { 
     versionNameSuffix "-DEBUG" 
     buildConfig "public static final int THING_ONE = 1;" 
     buildConfig "public static final int THING_TWO = 2;" 
    } 
    release { 
     zipAlign true 
     buildConfig "public static final int THING_ONE = 3;" 
     buildConfig "public static final int THING_TWO = 4;" 
    } 
} 

その後、私はコードでそれを使用しようとすると:

public class Thing { 
    public static final int THING = com.example.BuildConfig.THING_ONE + com.example.BuildConfig.THING_TWO; 
} 

私はこのエラーが発生します。

/Example/src/main/java/com/example/Thing.java:2: cannot find symbol 
symbol : variable THING_ONE 
location: class com.example.BuildConfig 
public static final int THING = com.example.BuildConfig.THING_ONE + com.example.BuildConfig.THING_TWO; 

は、複数の異なる行を追加する方法はあります各productFlavorまたはbuildTypeのbuildConfig(複数行ストリングの代わりにbuildConfigへの複数の呼び出しを使用)に?

+6

は、代わりに '' buildConfig'のbuildConfigField'をお試しくださいAndroidプラグインのためのGradleの0.7。+: 'buildConfigField" String "、" SERVER_URL "、" "http://stage.this-is-so-fake.com" '' – CommonsWare

+2

あなたが上書きする方法を探しているならBuildTypesのbuildConfigFieldの値、チェックアウト@CommonsWareの例:https://github.com/commonsguy/cw-omnibus/blob/0e5e5893df7a97823a100aa15d2d5bb961bfff71/Gradle/HelloBuildConfig/build.gradle – gdelente

答えて

14

@CommonsWareが指摘したように、Gradleの1.9(アンドロイドメーカー0.4.0)ので、あなたがそのようなあなたのBuildConfigフィールドを宣言する必要があります:あなたがオンになっている場合

buildTypes { 
    debug { 
     versionNameSuffix "-DEBUG" 
     buildConfigField "int", "THING_ONE", "1" 
     buildConfigField "int", "THING_TWO", "2" 
    } 
} 
関連する問題