標籤:class 自動 ble mil src order size conf 實現
71601451
Android Studio開發中,把一個module輸出打包為jar檔案,我們會發現裡面多了一個BuildConfig類,但在整個開發過程中我們始終沒有寫過這個類,這是怎麼回事呢?
原來,BuildConfig類是一個根據build.gradle設定檔自動產生的類,有點類似於R.class,產生後不能修改。它具備以下特點:
1、該類位置在applicationId(應用程式套件名)下面,如
2、巧用BUILD_TYPE屬性進行版本查看、DEBUG屬性日誌控制等。
[java] view plain copy
- Log.d("com.emp.unionpay", BuildConfig.BUILD_TYPE);
生產包BuildConfig.BUILD_TYPE = “release”;
測試包BuildConfig.BUILD_TYPE = “debug”;
日誌輸出控制:
[java] view plain copy
- if (BuildConfig.DEBUG) {
- 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、自訂BuildConfig類的內容
下面代碼將向我們展示,如何向BuildConfig添加自己想要的一些值。修改build.gradle檔案:
[java] view plain copy
- android {
-
- buildTypes {
- debug {
- buildConfigField "String", "URL", "\"http://www.baidu.com/\""
- buildConfigField "int", "MONEY", "1000"
- }
- release {
- minifyEnabled false
- proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘
- }
- }
- }
我們在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類