Android studio 获取每次编译apk时的日期

发布时间 2023-07-06 11:36:10作者: 邢帅杰

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

格式化:
SimpleDateFormat dFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date date = new Date(BuildConfig.BUILD_TIMESTAMP);
String timeStr = dFormat.format(date);