服务器时间修改 java程序时间乱了_类原生Andorid修改时间同步服务器

这是一篇写于约一年前Oreo刚发布时的草稿,但却从未发出。现做出一些修改再发。

在Android Oreo中,NTP服务器由2.android.pool.ntp.org更变为了time.android.com(见core/res/res/values/config.xml#1719)。

<string translatable="false" name="config_ntpServer">time.android.com</string>

众所周知,android.com在中国无法正常访问,这也就是为什么升级到Oreo后无法同步时间。

受到@Noisyfox的启发,参照了「关于 android 5.0-7.1.2 网络图标上的感叹号及其解决办法 - 狐狸的小小窝」一文,用「aptive_portal_https_url」关键字进行搜索,找到core/java/android/provider/Settings.java#8853。

 public static final String CAPTIVE_PORTAL_HTTPS_URL = "captive_portal_https_url";

再以NTP为关键字,找到core/java/android/provider/Settings.java#7894。

/** Preferred NTP server. {@hide} */
public static final String NTP_SERVER = "ntp_server";

可知通过调整「ntp_server」可以更改Android时间同步服务器地址。

解决

尝试在Android上运行(需root):

su
settings put global ntp_server ntp1.aliyun.com

或是在ADB上运行:

adb shell "settings put global ntp_server ntp1.aliyun.com"

由于Android的时间同步服务并不是时刻运行的,可尝试重启后开关一下自动同步时间,应该就会生效了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值