Gradle自定義你的BuildConfig


BuildConfig.DEBUG

首先在Gradle腳本中默認的debug和release兩種模式BuildCondig.DEBUG字段分別為true和false,而且不可更改。該字段編譯后自動生成,在Studio中生成的目錄在 app/build/source/BuildConfig/Build Varients/package name/BuildConfig 文件下。我們以9GAG為例來看下release模式下該文件的內容:

public final class BuildConfig { public static final boolean DEBUG = false; public static final String APPLICATION_ID = "com.storm.9gag"; public static final String BUILD_TYPE = "release"; public static final String FLAVOR = "wandoujia"; public static final int VERSION_CODE = 1; public static final String VERSION_NAME = "1.0"; // Fields from build type: release public static final boolean LOG_DEBUG = false; }

自定義BuildConfig字段

大家看到上述內容的時候發現莫名的有個LOG_DEBUG字段,這個完全是我自定義的一個字段,我來用它控制Log的輸出,而沒有選擇用默認的DEBUG字段。舉例一個場景,我們在App開發用到的api環境假設可能會有測試、正式環境,我們不可能所有的控制都通過DEBUG字段來控制,而且有時候環境復雜可能還會有兩個以上的環境,這個時候就用到了Gradle提供了自定義BuildConfig字段,我們在程序中通過這個字段就可以配置我們不同的開發環境。

語法很簡單:

buildConfigField "boolean", "API_ENV", "true"

上述語法就定義了一個boolean類型的API_ENV字段,值為true,之后我們就可以在程序中使用BuildConfig.API_ENV字段來判斷我們所處的api環境。例如:

public class BooheeClient { public static final boolean DEBUG = BuildConfig.API_ENV; public static String getHost { if (DEBUG) { return "your qa host"; } return "your production host"; } }

不僅如此,如果遇到復雜的環境,你也可能自定義一個String類型的字段,這種方式免去了發布之前手動更改環境的麻煩,減少出錯的可能性,只需要在Gradle配置好debug、release等模式下的環境就好了,打包的之后毫無顧慮。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM