android 模拟器的时钟与主机系统时钟不匹配

kxe2p93d  于 2023-06-20  发布在  Android
关注(0)|答案(8)|浏览(352)

为什么Android模拟器的时钟与主机系统时钟不匹配?这不是一个时区差异-它总是相差几分钟。
除了手动设置模拟器的时间之外,还有什么方法可以同步它们吗?

0aydgbwb

0aydgbwb1#

我有同样的问题,并得到了解决,只是重新启动模拟器使用模拟器电源按钮。

6fe3ivhb

6fe3ivhb2#

我相信没有办法同步时间。模拟器的默认映像设置为UTC/GMT(+00:00)。但是,您可以将其更改为您自己的。
下面是一张关于如何做到这一点的图片:首先取消勾选“自动时区”(红色箭头),然后单击“选定时区”(绿色箭头),最后选择您的时区,它应该与您系统上的时区相匹配(黄色箭头)。

yqhsw0fo

yqhsw0fo3#

在AndroidTV API 28模拟器上,它可以工作(GNU/Linux和一些Mac):
adb shell su root date $(date +%m%d%H%M%Y.%S)
主机时区应与您的AndroidTV时区匹配。

q1qsirdb

q1qsirdb4#

如果AVD和主机时间之间存在一些差异,主要是在从快照重新启动后,您可以在启动模拟器后使用adb shell date检查和/或设置日期。

4urapxun

4urapxun5#

自从其他答案以来,date命令在较新的android中已经改变。您必须具有root权限,-s无法识别,并且设置格式已更改。
我很幸运地使用了adb shell su root date -u @$(date +%s.%N),它使用@来设置它,使用具有纳秒精度的UNIX时间戳秒。-u是必需的,如果你因为某些原因改变了时区,即使时间戳不应该有时区!

7ajki6be

7ajki6be6#

因为我已经得到了这个作为顶部链接在谷歌:)
windows上,您可以通过发出

  1. 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中进行测试:

  1. > echo %date%
  2. Thu 01/22/2015

要输出YYYY部件,请用途:%date:[position of char. 0-based],[length]%
linux上:

  1. adb shell date -s $(date +%Y%m%d.%H%M%S)
展开查看全部
k4ymrczo

k4ymrczo7#

在Windows上,您需要在datetime字符串周围加上引号,以避免在解析返回数字前面的空格时出错。
完整的语法是:

  1. adb shell date -s '%date:~10,4%%date:~4,2%%date:~7,2%.%time:~0,2%%time:~3,2%%time:~6,2%'
pobjuy32

pobjuy328#

Mackbook Air M2 - Android Studio Flamingo模拟器API 33.有同样的问题.冷重启后设置模拟器的时区为我工作.

相关问题