一般狀況下咱們的apps發佈後也就是release模式下log是不顯示的,debug模式下是顯示log的,可是在特殊狀況下咱們測試release包的時候須要log的時候,就沒法使用BuildConfig.DEBUG來達到要求,由於在release模式下自動設置爲false,debug模式下是true,這個時候咱們須要自定義可控制的log開關。java
在Studio中生成的目錄: /app/build/generated/source/buildConfig/ 文件下的產品目錄裏面,找到想要的包名下會自動生成BuildConfig.java文件。咱們能夠看看下release模式下該文件的內容:android
在咱們的build.gradle裏面加入以下代碼:api
buildTypes { release { // 不顯示Log, 在java代碼中的調用方式爲:BuildConfig.LOG_DEBUG buildConfigField "boolean", "LEO_DEBUG", "false" minifyEnabled true zipAlignEnabled true shrinkResources true proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' signingConfig signingConfigs.release } debug { // 顯示Log buildConfigField "boolean", "LEO_DEBUG", "true" versionNameSuffix "-debug" minifyEnabled false zipAlignEnabled false shrinkResources false signingConfig signingConfigs.debug } }
語法爲:app
buildConfigField "boolean", "LEO_DEBUG", "true"
上述語法就定義了一個boolean類型的LEO_DEBUG字段,值爲true,以後咱們就能夠在程序中使用BuildConfig.LEO_DEBUG字段來判斷咱們所處的api環境。例如:ide