Android Studio之BuildConfig類

來源:互聯網
上載者:User

標籤: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 
  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.   
  3.     buildTypes {  
  4.         debug {  
  5.             buildConfigField "String", "URL",   "\"http://www.baidu.com/\""  
  6.             buildConfigField "int",    "MONEY",  "1000"  
  7.         }  
  8.         release {  
  9.             minifyEnabled false  
  10.             proguardFiles getDefaultProguardFile(‘proguard-android.txt‘), ‘proguard-rules.txt‘  
  11.         }  
  12.     }  
  13. }  

 

我們在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類

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.