【发布时间】:2011-11-09 09:27:50
【问题描述】:
我想使用 adb shell 命令更改时区。
我浏览了一些允许在 linux 中更改它的帖子,但它们对 android 无效。
【问题讨论】:
我想使用 adb shell 命令更改时区。
我浏览了一些允许在 linux 中更改它的帖子,但它们对 android 无效。
【问题讨论】:
对于 tzdata 值的列表,我去http://en.wikipedia.org/wiki/List_of_tz_database_time_zones
要设置时区,请使用setprop persist.sys.timezone <TZ> 命令:
setprop persist.sys.timezone "America/Chicago"
【讨论】:
getprop 显示值,但 setprop 无效。我认为可能需要 root。
adb shell service call alarm 3 s16 America/Phoenix,立即生效。
“setprop with persist.sys.timezone”仅在重启后有效。
【讨论】:
在我(非常)有限的经验中,我已经能够编辑 /system/build.prop 文件。我将其中的行更改为 persist.sys.timezone=America/Sao_Pao 或某些类似的驱动程序,以用于我的时区 CDT。我还将persist.sys.language=bt 和persist.sys.country=AR 分别更改为persist.sys.language=en 和persist.sys.country=US。
您可以在文件中调整一些其他内容,这些内容将在系统还原后保留。您可能希望确保闪存映像或目录中的 build.prop 文件中包含正确的行。
/system/property 目录似乎包含多个具有单个值的文本文件。这些似乎在使用 setprop 后出现,但操作系统似乎没有反映这些变化。
编辑这些文件通常需要使用术语程序或 ADB.exe shell 的 root 访问权限。 (ADB = Android SDK 中提供的 Android Device Bridge)我在浏览 JXD.HK 的 S18 MiniPad 固件下载时发现了 ADB.exe。在 files.rar dl 中还有 SuperUser.apk 和一个 root 版本的 busybox 和 su。
祝你好运!!!
【讨论】:
请参阅此https://gist.github.com/jpkrause/6b7e576894a800d451bf 以回答您的问题。
因此,在您的情况下,它将是: adb shell setprop persist.sys.timezone America/Chicago
【讨论】:
adb shell service call alarm 4 s16 America/Chicago
4 - 代表警报服务实现中的第四个功能。
s16 - 代表字符串参数类型。
【讨论】:
这适用于亚行
获取当前全球时区:
adb shell settings get global time_zone
设置时区:
adb shell settings put global time_zone Europe/Madrid
时区列表:
https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
【讨论】:
Settings 中只有 AUTO_TIME_ZONE 可以做其他事情。这确实没有任何作用。
我更改了 2 个文件来更改我的时区。
我不完全知道是否有必要,但它使事情保持同步:
/etc/timezone
你肯定需要改变的越多:
/etc/localtime
从http://www.cyberciti.biz/faq/linux-unix-set-tz-environment-variable/,您可以使用tzselect 确定您想要的时区名称。
我的灵感来自http://www.cyberciti.biz/faq/howto-set-date-and-time-timezone-in-freebsd/
并将我的时区文件从/usr/share/zoneinfo/ 复制到/etc/localtime。
/etc/timezone 是一个带有时区名称的文本文件。所以我只是更新了它以匹配tzselect提供的值。
【讨论】: