2016-10-28 114 views
0

我想改用字符串值調試和發佈建立在BuildConfig文件:如何從gradle確定調試版本?

def api= "\"api\""; 

     if (...){// What to set here to determine is build debug or not ? 
      api= "\"api-debug\""; 
     } 


defaultConfig { 
    ... 
    buildConfigField "String", "API", "${api}" 
... 
} 

回答

3

你應該在的buildTypes像這樣的範圍內設置多個buildConfigField S:

android { 
    // ... 
    buildTypes { 
     debug { 
      buildConfigField "String", "API", "api-debug" 
     } 
     // ... 
    }  
} 

對於一些更細節見例如this article

1

您也可以通過創建單獨的資源文件夾來實現此目的。但是,如果你想實現它gradle這個文件,然後通過添加這些行創建獨立的字符串都建立

android { 
    ... 
    buildTypes { 
     release { 
      ... 
      resValue "string", "api_string", "api-release\" 
     } 
     debug { 
      ... 
      resValue "string", "api_string", "api-debug\" 
     } 
    } 
} 

添加這些行後,生成項目更新build.gradle,並且可以使用獲得的java字符串context.getString(R.string.api_string)但請注意,strings.xml的名稱中不應有任何字符串,其名稱爲api_string