草庐IT

android - 恢复快照后,模拟的 Android 设备不会重新同步时间/日期

coder 2023-06-07 原文

如果我在模拟设备上重新启动,它会从主机操作系统获取正确的当前时间;但是,如果我从快照重新加载设备,它会从创建快照的那一刻起获取时间/日期(例如,当我关闭模拟器时)。时间/日期不会在任何时间后重新同步。我发现的唯一解决方法是在从快照恢复后手动更新时间。

Android 虚拟设备具有默认属性:

  • 目标 = Android 4.0.3 - API 级别 15

  • CPU/ABI = ARM (armeabi-v7a)

  • SD 卡 = 不适用

  • 快照 = 启用

  • 抽象 LCD 密度 = 240

  • 最大 VM 应用程序堆大小 = 48

  • 设备 RAM 大小 = 512

我在 OS X Snow Leopard 和 Windows 7 上尝试过模拟器,都显示同样的问题。有什么办法让模拟器在从快照恢复后自动同步时间?

最佳答案

我也遇到过同样的问题,而且似乎没有标准的方法来解决这个问题。但是,可以使用 date 更新模拟器的日期和时间。 ADB shell 的命令,可以与标准命令结合使用,在您的操作系统上显示日期和时间,以将模拟器日期和时间更新为当前日期和时间。

要设置模拟器的日期和时间,您需要在您的操作系统中执行以下命令:

adb shell date -s YYYYmmdd.HHMMSS

其中 YYYYmmdd 是日期,HHMMSS 是时间。

Linux

在 UNIX 风格的 shell 中将模拟器日期和时间设置为当前日期和时间相对简单,因此以下命令可以在 Linux 上运行:

adb shell date -s `date +"%Y%m%d.%H%M%S"`

macOS

adb -e shell su root date `date +"%m%d%H%M%y"`

窗口

在 Windows(我正在使用)上,最简单的方法是通过 Windows PowerShell:

adb shell date -s $(get-date -format yyyyMMdd.HHmmss)

在命令提示符中,它有点棘手,因为无法指定自定义格式来显示日期和时间。我发现以独立于语言环境的格式获取它的最佳方法是使用命令 wmic os get LocalDateTime (第 2 行)。可以解析其日期时间格式以适应 ADB shell 所需的格式:符号 :~可用于打印环境变量内容的子字符串,格式为 %var:~<start-index>,<number-of-chars>% .我们还需要忽略除第 2 行之外的所有内容,因此您需要运行的完整命令如下:

for /f "skip=1 delims=" %A in ('wmic os get localDateTime') do @for /f "delims=" %B in ("%A") do @cmd /v /c "set wmicdate=%B & adb shell date -s !wmicdate:~0,8!.!wmicdate:~8,6!"

对于好奇:这首先将日期时间保存到 %wmicdate%变量,然后通过适当的解析将其传递给 ADB。 !用于代替 %read the variable on-the-fly .这一切都是在一个 child 身上完成的cmd使用 /v 启动的进程启用此动态变量读取的选项。


编辑:修复了 macOS 的命令(感谢 @user836003)。

关于android - 恢复快照后,模拟的 Android 设备不会重新同步时间/日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8916609/

有关android - 恢复快照后,模拟的 Android 设备不会重新同步时间/日期的更多相关文章

  1. ruby - Highline 询问方法不会使用同一行 - 2

    设置:狂欢ruby1.9.2高线(1.6.13)描述:我已经相当习惯在其他一些项目中使用highline,但已经有几个月没有使用它了。现在,在Ruby1.9.2上全新安装时,它似乎不允许在同一行回答提示。所以以前我会看到类似的东西:require"highline/import"ask"Whatisyourfavoritecolor?"并得到:Whatisyourfavoritecolor?|现在我看到类似的东西:Whatisyourfavoritecolor?|竖线(|)符号是我的终端光标。知道为什么会发生这种变化吗? 最佳答案

  2. ruby - 如何模拟 Net::HTTP::Post? - 2

    是的,我知道最好使用webmock,但我想知道如何在RSpec中模拟此方法:defmethod_to_testurl=URI.parseurireq=Net::HTTP::Post.newurl.pathres=Net::HTTP.start(url.host,url.port)do|http|http.requestreq,foo:1endresend这是RSpec:let(:uri){'http://example.com'}specify'HTTPcall'dohttp=mock:httpNet::HTTP.stub!(:start).and_yieldhttphttp.shou

  3. ruby-on-rails - 项目升级后 Pow 不会更改 ruby​​ 版本 - 2

    我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby​​版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby​​版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘

  4. ruby-on-rails - date_field_tag,如何设置默认日期? [ rails 上的 ruby ] - 2

    我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问

  5. ruby-on-rails - Ruby 检查日期时间是否为 iso8601 并保存 - 2

    我需要检查DateTime是否采用有效的ISO8601格式。喜欢:#iso8601?我检查了ruby​​是否有特定方法,但没有找到。目前我正在使用date.iso8601==date来检查这个。有什么好的方法吗?编辑解释我的环境,并改变问题的范围。因此,我的项目将使用jsapiFullCalendar,这就是我需要iso8601字符串格式的原因。我想知道更好或正确的方法是什么,以正确的格式将日期保存在数据库中,或者让ActiveRecord完成它们的工作并在我需要时间信息时对其进行操作。 最佳答案 我不太明白你的问题。我假设您想检查

  6. ruby - 检查日期是否在过去 7 天内 - 2

    我的日期格式如下:"%d-%m-%Y"(例如,今天的日期为07-09-2015),我想看看是不是在过去的七天内。谁能推荐一种方法? 最佳答案 你可以这样做:require"date"Date.today-7 关于ruby-检查日期是否在过去7天内,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/32438063/

  7. ruby-on-rails - 将 Ruby 中的日期/时间格式化为 YYYY-MM-DD HH :MM:SS - 2

    这个问题在这里已经有了答案:Railsformattingdate(4个答案)关闭4年前。我想格式化Time.Now函数以显示YYYY-MM-DDHH:MM:SS而不是:“2018-03-0909:47:19+0000”该函数需要放在时间中.现在功能。require‘roo’require‘roo-xls’require‘byebug’file_name=ARGV.first||“Template.xlsx”excel_file=Roo::Spreadsheet.open(“./#{file_name}“,extension::xlsx)xml=Nokogiri::XML::Build

  8. ruby - 查找字符串中的内容类型(数字、日期、时间、字符串等) - 2

    我正在尝试解析一个CSV文件并使用SQL命令自动为其创建一个表。CSV中的第一行给出了列标题。但我需要推断每个列的类型。Ruby中是否有任何函数可以找到每个字段中内容的类型。例如,CSV行:"12012","Test","1233.22","12:21:22","10/10/2009"应该产生像这样的类型['integer','string','float','time','date']谢谢! 最佳答案 require'time'defto_something(str)if(num=Integer(str)rescueFloat(s

  9. ruby-on-rails - ruby 日期方程不返回预期的真值 - 2

    为什么以下不同?Time.now.end_of_day==Time.now.end_of_day-0.days#falseTime.now.end_of_day.to_s==Time.now.end_of_day-0.days.to_s#true 最佳答案 因为纳秒数不同:ruby-1.9.2-p180:014>(Time.now.end_of_day-0.days).nsec=>999999000ruby-1.9.2-p180:015>Time.now.end_of_day.nsec=>999999998

  10. ruby-on-rails - 事件管理员日期过滤器日期格式自定义 - 2

    是否有简单的方法来更改默认ISO格式(yyyy-mm-dd)的ActiveAdmin日期过滤器显示格式? 最佳答案 您可以像这样为日期选择器提供额外的选项,而不是覆盖js:=f.input:my_date,as::datepicker,datepicker_options:{dateFormat:"mm/dd/yy"} 关于ruby-on-rails-事件管理员日期过滤器日期格式自定义,我们在StackOverflow上找到一个类似的问题: https://s

随机推荐