【问题标题】:Changing the Internal Android Simulator's Time更改内部 Android 模拟器的时间
【发布时间】:2011-07-08 06:40:09
【问题描述】:

我正在创建一个 android 应用程序,该应用程序广泛使用 android 中的时间和日期功能,包括 AlarmManager 的许多用途。但是,对于测试而言,仅仅为了测试某些功能而更改 Windows 的系统时钟是一件很痛苦的事情。

有没有办法改变模拟器上的时钟,让它认为它在不同的日子?

【问题讨论】:

  • 我没有看到任何关于更改 Windows 系统时钟的“痛苦” - 我这样做是为了测试我自己的代码。这对你来说只是一个烦恼,还是真的是一个劳动密集型的过程?
  • @Matt 实际上有两个痛苦:1)必须将其改回。 2) 观看 appengine 上传失败,因为它们依赖系统时钟进行身份验证。将更改本地化似乎好多了。

标签: android time


【解决方案1】:

就像在普通手机中一样:

设置 -> 日期和时间,然后禁用自动并设置日期和时间

【讨论】:

  • 但是时间会更进一步……难道没有冻结时间的选项吗?
【解决方案2】:

现在我找到了solution,它可以更轻松地将模拟器重置到特定时间,而无需每次都手动执行此操作。

  1. 启动模拟器,获取root access(没有Play Store的模拟器)
  2. 打开 Android Adb 命令提示符
  3. 使用adb root 获得root 访问权限
  4. Connect 使用adb -e shell 到模拟器的shell 或使用adb -s emulator-5553 shell 到特定的模拟器
  5. 更改日期并立即广播,例如date 112509412020.00 ; am broadcast -a android.intent.action.TIME_SET(时间格式为 MMDDhhmmYYYY.00
  6. 您应该在模拟器中看到新的时间并在 shell 上得到它广播完成:result=0

但是每次重置还是要调用最后一条命令...

【讨论】:

    猜你喜欢
    • 2011-02-07
    • 2022-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多