Android下通过命令设置时间
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 工具的源码实现了。
有条件的同学最好去阅读一下这份源码,一般来说它都比较简单,但却是最权威的“指南”。
+++