2016-10-20 58 views
4

假設我build.gradle文件對於在BuildConfig定義的相同變量定義不同的值:的Android測試BuildConfig字段

android { 
    def INTEGER= "integer" 
    def VARIABLE = "variable" 
    buildTypes { 
     release { 
      buildConfigField BOOLEAN, VARIABLE, "1" 
     } 

     debug { 
      buildConfigField BOOLEAN, VARIABLE, "2" 
     } 
    } 
} 

我想定義BuildConfig值此變量爲androidTest(即在所創建的app/build/generated/source/buildConfig/androidTest/debug/{app_id}/test/BuildConfig.java

現在,該值與在debug閉包中相同。

是否可以改變它?

回答

4

我發現了一個辦法做到這一點here

創建另一個buildType(其名稱不得以啓動:test),並通過了它的名字屬性:

android { 

    testBuildType "staging" 

    def INTEGER= "integer" 
    def VARIABLE = "variable" 
    buildTypes { 

     debug { 
      buildConfigField BOOLEAN, VARIABLE, "2" 
     } 

     staging { 
      initWith(buildTypes.debug) 
      buildConfigField BOOLEAN, VARIABLE, "4" 
     } 
    } 
} 

測試必須對運行stagingbuildType