1. 程式人生 > >Android Studio之BuildConfig類

Android Studio之BuildConfig類

rule files gravity 查看 DC -m nio RM 定義

https://blog.csdn.net/lvxiangan/article/details/71601451

Android Studio開發中,把一個module輸出打包為jar文件,我們會發現裏面多了一個BuildConfig類,但在整個開發過程中我們始終沒有寫過這個類,這是怎麽回事呢?

原來,BuildConfig類是一個根據build.gradle配置文件自動生成的類,有點類似於R.class,生成後不能修改。它具備以下特點:

1、該類位置在applicationId(應用包名)下面,如

技術分享圖片

2、巧用BUILD_TYPE屬性進行版本查看、DEBUG屬性日誌控制等。

[java]
view plain copy
  1. Log.d("com.emp.unionpay", BuildConfig.BUILD_TYPE);


生產包BuildConfig.BUILD_TYPE = “release”;

測試包BuildConfig.BUILD_TYPE = “debug”;

日誌輸出控制:

[java] view plain copy
  1. if (BuildConfig.DEBUG) {
  2. Log.d("<span style="font-family:Arial, Helvetica, sans-serif;">com.emp.unionpay</span><span style="font-family:Arial, Helvetica, sans-serif;">", "I am a debug");</span>
  3. }


3、自定義BuildConfig類的內容

下面代碼將向我們展示,如何向BuildConfig添加自己想要的一些值。修改build.gradle文件:

[java] view plain copy
  1. android {
  2. buildTypes {
  3. debug {
  4. buildConfigField "String", "URL", "\"http://www.baidu.com/\""
  5. buildConfigField "int", "MONEY", "1000"
  6. }
  7. release {
  8. minifyEnabled false
  9. proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘
  10. }
  11. }
  12. }

我們在buildType中的任意type(包括自定義的)中輸入buildConfigField語法來實現的,此方法有三個參數buildConfigField(String type,String name,String value),解釋下:

String type 要創建的字段類型,如上面的String與int
String name 要創建的字段名,如上面的BASE_URL與DATE
String value 創建此字段的值,如上面的\"http://www.baidu.com/\"


但這裏要註意一點就是,當創建的類型為String時,定義value的時候要註意加上字符串不能缺少的雙引號"",由於參數本身要傳入的類型也是String,所以我們在添加的時候加上轉義字符。

技術分享圖片

Android Studio之BuildConfig類