2020-06-30
關鍵字:date -s
Android平台上通過 date 命令設置系統時間的方式與普通 Linux 系統不太一樣。
一般的 Linux 系統可以直接使用如下命令來手動設置系統時間:
date -s "2020-06-30 20:23:58"
或者也可以直接通過 help 參數來查看詳細的設置時間格式:
date --help
但以上這兩條命令,在Android開發板下卻不太好用了。
一般來說,Android開發板上設置系統時間的命令應該是如下形式的:
date -s 20200630.203056
年月日和時分秒中間以一個小數點隔開。
應該有不少Android開發板,或者說運行着Android系統的設備無法用最上面那種PC Linux上的方式來設置系統時間的。
這主要還是因為Android設備的Linux系統為了裁剪系統應用體積而閹割了不少 PC Linux 系統的功能。
當然,這其實也跟具體的開發板系統源碼對 date 工具的定制程度有關。有少數系統會保留原汁原味的PC Linux的date工具,而有些則是改成了筆者上述這種形式,如海思、Amlogic、Rockchip平台的系統。更有甚者還會給 date 工具來個改頭換面的改變,完全演化出自己的一套設置格式。
如果以上任何一種方式都不能讓您手里的Android系統設置上時間,有條件的話您就需要去閱讀一下 date 工具的源碼來摸索設置格式了。
Android 平台的 date 工具其實是打包在 toolbox 工具中的。直接在系統中查看date工具可以發現如下信息:
而 toolbox 工具集的源碼則位於系統源碼的以下目錄:
./system/core/toolbox
在 toolbox 目錄下有一個 date.c 文件,這就是 date 工具的源碼實現了。
有條件的同學最好去閱讀一下這份源碼,一般來說它都比較簡單,但卻是最權威的“指南”。