Android中BuildConfig類的那些事
阿新 • • 發佈:2019-01-28
宣告
本文章都只是在AndroidStudio
基於Gradle
構建專案開發的驗證,所以不保證其它開發環境與構建專案方式也是這樣
BuildConfig身在何處
瞭解一個東西前,至少先要知道這東西在哪裡吧!而我們今天要了解的這個類又在哪裡了,我相信應該還有一些安卓開發人員沒見過此類的身影。那麼這類在哪裡了?
答案:一般情況是在applicationId<應用包名>.BuildConfig
;如:我的應用ID為:com.jay.demo
,那麼此類的全類名就是com.jay.demo.BuildConfig
;
但這是一般情況,也就是說我們在建立工程時確定的應用包名,但這裡答案准確的來說,此類是和R<resouce>
R<resouce>
類的名路徑是怎麼確定的了? 答案:很明確,是由
AndroidManifest.xml
檔案中的manifest
標籤中的package
屬性指定的包路徑
BuildConfig有啥用
我們先從類名來試圖理解這個類是做什麼的,BuildConfig
很明顯是由Build
與Config
組成,Build = 構建
,Config = 配置
,那麼直譯過來就是BuildConfig = 構建配置
,大致猜到了這個類可能會與一個配置相關的資訊
BuildConfig的真面目
package com.jay.demo;
public final class BuildConfig {
public static final boolean DEBUG = Boolean.parseBoolean("true");
public static final String APPLICATION_ID = "com.jay.demo";
public static final String BUILD_TYPE = "debug";
public static final String FLAVOR = "";
public static final int VERSION_CODE = 1;
public static final String VERSION_NAME = "1.0";
public BuildConfig() {
}
}
這是建立一個專案後BuildConfig
類,那這類中有些啥東西了?如果看過我之前的一篇文章,可能會更好的理解–Android Studio中Module的build.gradle詳解,說之前科普下一個小知識,此類是不可修改的,嚴格來說不能通過我們之前正常編碼那樣對類一樣修改
package com.jay.demo;
public final class BuildConfig {
//這個常量是標識當前是否為`debug`環境,由`buildType`中的`debuggable`來確定的,這是修改此類值的一個方式
public static final boolean DEBUG = Boolean.parseBoolean("true");
//application id
public static final String APPLICATION_ID = "com.jay.demo";
//當前編譯方式
public static final String BUILD_TYPE = "debug";
//編譯渠道,如果沒有渠道,則為空
public static final String FLAVOR = "";
//版本號
public static final int VERSION_CODE = 1;
//版本名,所以獲取當前應用的版本名可以直接 BuildConfig.VERSION_NAME
public static final String VERSION_NAME = "1.0";
public BuildConfig() {
}
}