項目中需要獲取apk的編譯日期,首先肯定是用手動的方式獲取,但這樣容易遺忘,怎么樣通過代碼的方式獲取呢?
其實android 為我們提供了一個BuildConfig的類,android 每次編譯的時候都會自動生成 一次BuildConfig 類,這個類包含着編譯時的各個參數,所以只需要在這個類中增加一個常量,然后設定這個常量的值就是編譯時的時間即可。
在gradle里的defaultConfig 配置
(1)獲取long類型的時間
defaultConfig { .... buildConfigField "long","BUILD_TIMESTAMP",System.currentTimeMillis() + "L" }
(2)獲取String類型的時間
defaultConfig {
....
buildConfigField "String", "BUILD_TIMESTAMP", getDate()
}
....
String getDate() { Date date = new Date(); String dates = "\""+date.format("yyyy-MM-dd hh:mm:ss", TimeZone.getTimeZone("UTC"))+"\""; return dates; }
在需要調用的代碼中調用BuildConfig.BUILD_TIMESTAMP即可。