我注意到我的 Android 项目模拟器中的时间是错误的。晚了一小时。 我该如何更改时间以及可以在 Eclipse 中执行此操作吗?
运行>调试配置/运行配置
选项卡目标> 其他模拟器命令行选项
-时区 America/New_York
使用此命令
C:\> adb shell
#date –- 2009-10-01 14:24:59
20070325.123456
#date –s 20070325.123456
我相信模拟器默认设置为 GMT 时区。 您可以使用
-timezone
参数指定模拟器的时区。
https://developer.android.com/studio/run/emulator-commandline.html
如果您想更改日期和时间,请从运行模拟器窗口转到:
Apps -> Settings -> Date & Time -> Disable Automatic date & time -> Set date & Set time
如果您想更改时区,请从运行模拟器窗口转到:
Apps -> Settings -> Date & Time -> Disable Automatic time zone -> Select time zone
如果您使用 IntelliJ,您可以从“运行/编辑配置”窗口执行此操作。 转到模拟器选项卡并将其添加到“其他命令行选项”:
-时区 Europe/赫尔辛基
Android document 提供了以下信息:
-timezone 将模拟设备的时区设置为 ,而不是主机的时区。 必须以 zoneinfo 格式指定。例如:“美国/洛杉矶” “欧洲/巴黎”
Zoneinfo 格式也称为 tz 数据库。因此,要查找特定时区,您可以使用此处的维基百科列表:
http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
将模拟器日期增加一定时间,完美运行 这里我将时间增加了 4 小时。
adb 根 adb shell“日期
date +09190400
”
月份和日期:0919(mmdd) 时间 : 04
通过 ADB 设置模拟器上的时间:
重击:
adb root
adb shell "date $(date +%m%d%H%M%G.%S)"
adb shell "am broadcast -a android.intent.action.TIME_SET"
Powershell:
$currentDate = Get-Date -Format "MMddHHmmyyyy.ss" # Android's preferred format
adb root
adb shell "date $currentDate"
adb shell "am broadcast -a android.intent.action.TIME_SET"
am broadcast
指示时钟在状态栏中更新,尽管根据我在模拟器 API-31 上的测试不需要它。
adb root
允许使用 root 访问权限执行以下 adb 命令,这是设置日期所需的。
另请参阅重复的 Stackoverflow,其中包含有关特殊 Android 设备的更多信息:使用 ADB shell 设置日期/时间
我进行了大量搜索,似乎唯一的选择是关闭模拟器手机首选项中的自动设置时间,然后手动设置时区。 我找不到任何地方可以从 Eclipse/AVD Manager 中设置
emulator
选项。
发布以防其他人仍然遇到此问题。
如果您使用的是 Google TV 设备,您可以登录 Google TV,它会自动更新时间和日期设置。
使用Android 14.0(“UpsideDownCake”)| Android Studio 瓢虫 | 2024.2.1 补丁 1
这个问题是 9 年前提出的,但如今(至少在 Mac 上)您只需在 OSX 系统偏好设置“日期和时间”窗格中更改 Mac 的时间,它就会立即反映在 Android 模拟器中。