+-
踩坑记:adb 时间同步

项目上提了一个需求:通过adb命令批量同步android平板电脑系统时间。百度查到了这个命令:adb shell date MMDDhhmmYY.ss set,MMDDhhmmYY.ss为时间格式。执行此命令后,发现pad系统时间确实变了,so easy!
过了一段时间,项目反馈有个别pad时间没同步成功。第一反应怎么可能???经过细聊了解到这几台pad有过重启,公司内果然问题重现了。于是继续百度查资料,原来以上命令只是改了系统时间,没有修改硬件时间。
硬件时间: 主板上BIOS中的时间,由主板电池供电来维持运行,系统开机时要读取这个时间,并根据它来设定系统时间(注意:系统启动时根据硬件时间设定系统时间的过程可能存在时区换算,这要视具体的系统及相关设置而定)。
经过摸索通过以下指令解决问题(针对android10,其他版本可能略有差异):

adb shell setprop persist.sys.timezone GMT //校准时区
adb shell date MMDDhhmmYY.ss set //修改系统时间
adb shell hwclock -w //同步硬件时间