2011-03-14 77 views
14

爲了調試目的,我想在某個日期運行我的應用程序。當然,我可以在我的模擬器上手動更改日期,但我想知道是否有一種簡單的方法可以從模擬器外殼(我知道無法從UI中完成)執行此操作。從Android上的shell設置日期

回答

0

這工作在Mac上:

adb shell date $(date -j mmddHHMM +%s) 

其中「MMDDHHMM」是月,日,小時,和你想設置的時間分鐘。

這將通過使用adb shell在您的模擬器中調用「date」命令,然後將它傳遞自時代以來的秒數以設置時間(通過在本地調用「date -j ...」計算得出) mac)

您也可以更具體。從日期的手冊頁(在Mac上)的格式是[[[mm]dd]HH]MM[[cc]yy][.ss]

17

根據previous answer傳遞秒自時代在我的實例(WinXP Android SDK11 HVGA_1.6模擬器)上不起作用。然而這種特定的形式工作:

adb shell date -s "yyyymmdd.[[[hh]mm]ss]" 

[編輯6/27/2011:增加了語法的時間部分。]

+0

在我的Mac上工作。 – 2012-05-23 00:35:08

+0

時間部分不起作用。它只是將其設置爲00:00:00。 – prolink007 2012-12-07 18:06:13

+0

要自動填寫adb客戶端的時間:'./adb shell date -s''date +%Y%m%d。%H%M%S'''' – 2015-06-24 17:52:58

4

我與Win 7

是:工作的正確格式工作對我來說是:

亞行外殼日期-s「YYYYMMDD.HHMMSS」

我在其他線程看到這個命令,真正讓差別對我來說是在設置 - 設置>日期&以這種方式計時的選項。 (取消選擇自動日期時間和時區)

Date and time in the emulator

Commands from adb

1

不像Linux中,只有2種方式,你可以設置日期。日期命令將通過調用設備驅動程序'dev/alarm'來設置時間。

  1. 日期-s 「YYYYMMDD.HHMMSS」 或
  2. 日期-u 「UTC_TIME_MILLI_SECS」

希望它能幫助。

拉維·潘迪特

+0

「date -u \」UTC_TIME_MILLI_SECS \「」在Android 4.1.1上爲我工作,ty 。 – 2016-12-09 12:14:46

1

這在Linux下工作對我來說,也許有些修正爲夏令時將被要求:

adb shell date -s $(date +%Y%m%d.%H%M%S) 
1

下在Mac OS X與您的計算機的時間正好一致,並它也設置秒。

如果是Android 7個仿真器,使用:

adb -e shell date $(date +%m%d%H%M%Y.%S) 

如果是Android 4/5/6仿真器,使用:

adb -e shell date -s $(date "+%Y%m%d.%H%M%S") 

注1:-e意味着「仿真器」,並且當您在t時連接仿真器和設備時,它可以可靠工作他同一時間。

注2:第一個變體是由Siva Kranthi Kumar在2016年6月9日發表的評論中發現的。試圖使用adb shell date -?的文檔實際上是不可能的。它寫得不好,太難理解了。