android – 多次调用Gradle buildConfig

前端之家收集整理的这篇文章主要介绍了android – 多次调用Gradle buildConfig前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我很难找到一种方法,使用Gradle为我的BuildConfig添加多行.看来,当我第二次调用buildConfig时,第一次消失.

我最初是从另一个地方添加这个buildConfig,但是如果我这样做的话,我能够创建一个最小的可重现测试:

  1. buildTypes {
  2. debug {
  3. versionNameSuffix "-DEBUG"
  4. buildConfig "public static final int THING_ONE = 1;"
  5. buildConfig "public static final int THING_TWO = 2;"
  6. }
  7. release {
  8. zipAlign true
  9. buildConfig "public static final int THING_ONE = 3;"
  10. buildConfig "public static final int THING_TWO = 4;"
  11. }
  12. }

然后当我尝试在代码中使用它时:

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

我会收到这个错误

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

有没有办法为buildConlavor或buildType添加多个不同的行到buildConfig(使用多次调用buildConfig – 而不是多行字符串)?

解决方法

正如@CommonsWare指出的那样,从Gradle 1.9(Android Studio 0.4.0)开始,你必须声明你的BuildConfig字段:
  1. buildTypes {
  2. debug {
  3. versionNameSuffix "-DEBUG"
  4. buildConfigField "int","THING_ONE","1"
  5. buildConfigField "int","THING_TWO","2"
  6. }
  7. }

猜你在找的Android相关文章