解決依賴庫中BuildConfig.DEBUG的值總為False的問題
阿新 • • 發佈:2019-01-27
在Android的實際開發中,一般會有這樣的需求,debug和release版本不同,介面地址不同,同時控制日誌是否列印等,系統為我們提供了一個很方便的類BuildConfig可以自動判斷是否是debug模式。
有了BuildConfig.DEBUG之後,你在程式碼中可以直接寫入
if (BuildConfig.DEBUG) {
Log.d(TAG, "output something");
}
在平時直接執行程式碼的時候BuildConfig.DEBUG的值自動為true, 在釋出後BuildConfig.DEBUG的值自動為false,
可以說是非常方便。
BUT。。。。
在Android Studio中,如果你的專案A依賴另外一個module B,而你也想通過BuildConfig.DEBUG來控制日誌等,很遺憾,It not work!
不論你是debug還是release,BuildConfig.DEBUG的值都是false!
因為這個令人頭疼的問題,我參考了各種辦法都不行!
首先想到的是通過
buildConfigField “boolean”, “IS_DEBUG”, “true”
設定自定義引數來判斷,結果還是不行。
最後在android官網上找到了解決方法
Library專案的build.gradle中
android {
publishNonDefault true
}
App主專案中dependencies {
releaseCompile project(path: ':library', configuration: 'release')
debugCompile project(path: ':library', configuration: 'debug')
}
其中library是依賴的module名字