Android Java 取得 build date 當下編譯日期時間

本篇 ShengYu 介紹 Android Java 取得 build date 當下編譯日期時間的寫法,這樣在每次編譯後,都會紀錄當下編譯的時間,在開發或 debug 時可以拿來確認到底有加入你的更動,這招特別方便好用。

在 build.gradle 裡的 defaultConfig 區塊加上 buildConfigField "long", "BUILD_TIME", System.currentTimeMillis() + "L" 這一行,如下所示,大意為就是編譯時會讓 BUILD_TIME 設定成 System.currentTimeMillis() 系統當前時間(毫秒)這個數值,

build.gradle
1
2
3
4
5
android {
defaultConfig {
buildConfigField "long", "BUILD_TIME", System.currentTimeMillis() + "L"
}
}

然後在 java 程式裡產生 Date 物件時帶入這個 BuildConfig.BUILD_TIME 時間戳,這邊簡單示範在 MainActivity.java 裡印出 build date 編譯的日期,

build-date/MainActivity.java
1
2
3
4
5
6
7
8
9
10
11
12
13
package com.example.myapplication;
// ...
import android.util.Log;
import java.util.Date;

public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// ...
Date buildDate = new Date(BuildConfig.BUILD_TIME);
Log.d("MainActivity", "build date: " + buildDate);
}
}

這樣的輸出結果會是這樣,

1
build date: Fri Jan 13 14:45:44 UTC 2023

那如果想要顯示單純一點的話可以格式化時間,如下,

1
2
SimpleDateFormat sdFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss.SSS");
Log.d("MainActivity", "build date: " + sdFormat.format(buildDate));

這樣的輸出結果會是這樣,

1
build date: 2023/01/13 14:47:43.563

以上就是 Android Java 取得 build date 當下編譯日期時間介紹,
如果你覺得我的文章寫得不錯、對你有幫助的話記得 Facebook 按讚支持一下!

其它參考
android - How to write build time stamp into apk - Stack Overflow
https://stackoverflow.com/questions/7607165/how-to-write-build-time-stamp-into-apk
How to programmatically read the date when my Android apk was built? - Stack Overflow
https://stackoverflow.com/questions/3540739/how-to-programmatically-read-the-date-when-my-android-apk-was-built
金石微開: [Android] 取得Build Date
https://boywhy.blogspot.com/2016/04/android-build-date.html