1、查找了很多资料想保存AndroidThings 系统断电后时间重置为2009年一月一日的问题(使用NXP imx7D测试);由于AndroidThings中有使用网络自动对时的功能,所以优先使用网络时间;但是网络时间获取总是超时,首先想到的是NTP Server地址不能翻墙的问题,因为一开始我想当然的认为NTP Server默认的也是NTP_SERVER=north-america.pool.ntp.org ,但是其实不是。解决这个问题有两个方案,一个使用硬件方案,一个使用软件方案,因为我是搞软件的,当然先想软件的方式啊。但是硬件的方式就是增加自己的一个RTC硬件模组,但是驱动和系统兼容是个问题,有待实验~;接着从NTP_SERVER入手,因为默认的android 配置的地方在/system/etc中,所以我就按照这个思路来搞Things,结果没找到,但是这个地址我确定肯定是存在的,那不存到文件中,那就是数据库中,找吧,果然早Settings数据库中找到了。
2、修改地址为国内的大的NTP_SERVER时间:
"dns1.synet.edu.cn", "news.neu.edu.cn", "dns.sjtu.edu.cn", "dns2.synet.edu.cn", "ntp.glnet.edu.cn", "ntp-sz.chl.la", "ntp.gwadar.cn", "cn.pool.ntp.org"
cn.ntp.org.cn或者如下的阿里的
- ntp1.aliyun.com
- ntp2.aliyun.com
- ntp3.aliyun.com
- ntp4.aliyun.com
- ntp5.aliyun.com
- ntp6.aliyun.com
- ntp7.aliyun.com
3、
adb shell settings put global ntp_server
adb shell settings get global ntp_server
4、手动设置树莓派和NXPTimeZone
- adb shell
- cat /data/property/persist.sys.timezone //查看当前时区配置文件
- setprop persist.sys.timezone GMT
- 如设置为中国时区 setprop persist.sys.timezone Asia/Shanghai
- adb shell settings put global ntp_server dns1.synet.edu.cn