项目中需要获取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即可。