Tôi đã được chạy vào cùng một vấn đề, và có vẻ như không phải là một cách tiêu chuẩn để làm điều này. Tuy nhiên, ngày và thời gian của một giả lập có thể được cập nhật bằng cách sử dụng lệnh date
của vỏ ADB, có thể được sử dụng kết hợp với các lệnh chuẩn để hiển thị ngày tháng và thời gian trên hệ điều hành của bạn để cập nhật ngày emulator và thời gian để ngày và thời gian hiện tại.
Để thiết lập một ngày và thời gian của giả lập, bạn cần phải thực hiện lệnh sau trong hệ điều hành của bạn:
adb shell date -s YYYYmmdd.HHMMSS
nơi yyyymmdd là ngày và HHMMSS là thời gian.
Linux/MacOS
Thiết ngày emulator và thời gian để ngày và thời gian hiện tại là tương đối đơn giản từ một vỏ UNIX-phong cách, vì vậy lệnh sau đây sẽ làm việc trên Linux và MacOS:
adb shell date -s `date +"%Y%m%d.%H%M%S"`
của Windows
Trên Windows (mà tôi đang sử dụng), cách dễ nhất để làm điều đó là thông qua Windows PowerShell:
adb shell date -s $(get-date -format yyyyMMdd.HHmmss)
Trong Command Prompt, nó phức tạp hơn một chút vì không có cách nào để xác định một định dạng tùy chỉnh để hiển thị ngày giờ. Cách tốt nhất tôi tìm thấy để có được nó trong định dạng độc lập địa phương là bằng cách sử dụng lệnh wmic os get LocalDateTime
(dòng 2). Định dạng ngày giờ có thể được phân tích cú pháp để thích ứng với định dạng cần thiết của trình bao ADB: các ký hiệu :~
có thể được sử dụng để in chuỗi con của nội dung biến môi trường, với định dạng %var:~<start-index>,<number-of-chars>%
. Chúng tôi cũng cần phải bỏ qua tất cả mọi thứ ngoại trừ dòng 2, vì vậy toàn bộ lệnh mà bạn cần phải chạy như sau:
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!"
Đối với người hiếu: đầu tiên này giúp tiết kiệm thời gian vào biến %wmicdate%
và sau đó vượt qua nó để ADB bằng cách phân tích cú pháp nó một cách thích hợp. Các !
được sử dụng thay vì %
đến read the variable on-the-fly. Tất cả điều này được thực hiện trong quy trình cmd
cho trẻ em được khởi chạy với tùy chọn /v
cho phép đọc biến số trực tiếp này.
Đối với những ai đang tìm kiếm một giải pháp tạm thời và lộn xộn vô cùng nhanh chóng. Thoát khỏi trình mô phỏng giả lập của bạn và bắt đầu sao lưu với thời gian và múi giờ tự động tắt. – JosephMCasey