为什么Android模拟器的时钟与主机系统时钟不匹配?这不是一个时区差异-它总是相差几分钟。除了手动设置模拟器的时间之外,还有什么方法可以同步它们吗?
0aydgbwb1#
我有同样的问题,并得到了解决,只是重新启动模拟器使用模拟器电源按钮。
6fe3ivhb2#
我相信没有办法同步时间。模拟器的默认映像设置为UTC/GMT(+00:00)。但是,您可以将其更改为您自己的。下面是一张关于如何做到这一点的图片:首先取消勾选“自动时区”(红色箭头),然后单击“选定时区”(绿色箭头),最后选择您的时区,它应该与您系统上的时区相匹配(黄色箭头)。
yqhsw0fo3#
在AndroidTV API 28模拟器上,它可以工作(GNU/Linux和一些Mac):adb shell su root date $(date +%m%d%H%M%Y.%S)主机时区应与您的AndroidTV时区匹配。
adb shell su root date $(date +%m%d%H%M%Y.%S)
q1qsirdb4#
如果AVD和主机时间之间存在一些差异,主要是在从快照重新启动后,您可以在启动模拟器后使用adb shell date检查和/或设置日期。
adb shell date
4urapxun5#
自从其他答案以来,date命令在较新的android中已经改变。您必须具有root权限,-s无法识别,并且设置格式已更改。我很幸运地使用了adb shell su root date -u @$(date +%s.%N),它使用@来设置它,使用具有纳秒精度的UNIX时间戳秒。-u是必需的,如果你因为某些原因改变了时区,即使时间戳不应该有时区!
date
-s
adb shell su root date -u @$(date +%s.%N)
@
-u
7ajki6be6#
因为我已经得到了这个作为顶部链接在谷歌:)在windows上,您可以通过发出
adb shell date -s %date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%
-s值的格式应为:YYYYMMDD.hhmmss在有不同时间格式的系统上,带windows shell参数的部分将不同!您可以在cmd.exe中进行测试:
YYYYMMDD.hhmmss
cmd.exe
> echo %date%Thu 01/22/2015
> echo %date%
Thu 01/22/2015
要输出YYYY部件,请用途:%date:[position of char. 0-based],[length]%在linux上:
%date:[position of char. 0-based],[length]%
adb shell date -s $(date +%Y%m%d.%H%M%S)
k4ymrczo7#
在Windows上,您需要在datetime字符串周围加上引号,以避免在解析返回数字前面的空格时出错。完整的语法是:
adb shell date -s '%date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%'
pobjuy328#
Mackbook Air M2 - Android Studio Flamingo模拟器API 33.有同样的问题.冷重启后设置模拟器的时区为我工作.
8条答案
按热度按时间0aydgbwb1#
我有同样的问题,并得到了解决,只是重新启动模拟器使用模拟器电源按钮。
6fe3ivhb2#
我相信没有办法同步时间。模拟器的默认映像设置为UTC/GMT(+00:00)。但是,您可以将其更改为您自己的。

下面是一张关于如何做到这一点的图片:首先取消勾选“自动时区”(红色箭头),然后单击“选定时区”(绿色箭头),最后选择您的时区,它应该与您系统上的时区相匹配(黄色箭头)。
yqhsw0fo3#
在AndroidTV API 28模拟器上,它可以工作(GNU/Linux和一些Mac):
adb shell su root date $(date +%m%d%H%M%Y.%S)
主机时区应与您的AndroidTV时区匹配。
q1qsirdb4#
如果AVD和主机时间之间存在一些差异,主要是在从快照重新启动后,您可以在启动模拟器后使用
adb shell date
检查和/或设置日期。4urapxun5#
自从其他答案以来,
date
命令在较新的android中已经改变。您必须具有root权限,-s
无法识别,并且设置格式已更改。我很幸运地使用了
adb shell su root date -u @$(date +%s.%N)
,它使用@
来设置它,使用具有纳秒精度的UNIX时间戳秒。-u
是必需的,如果你因为某些原因改变了时区,即使时间戳不应该有时区!7ajki6be6#
因为我已经得到了这个作为顶部链接在谷歌:)
在windows上,您可以通过发出
-s
值的格式应为:YYYYMMDD.hhmmss
在有不同时间格式的系统上,带windows shell参数的部分将不同!
您可以在
cmd.exe
中进行测试:要输出YYYY部件,请用途:
%date:[position of char. 0-based],[length]%
在linux上:
k4ymrczo7#
在Windows上,您需要在datetime字符串周围加上引号,以避免在解析返回数字前面的空格时出错。
完整的语法是:
pobjuy328#
Mackbook Air M2 - Android Studio Flamingo模拟器API 33.有同样的问题.冷重启后设置模拟器的时区为我工作.