2012-01-18 16 views
18

को पुनर्स्थापित करने के बाद समय/दिनांक को फिर से सिंक नहीं करता है अगर मैं नकली डिवाइस पर एक नया बूट करता हूं, तो यह होस्ट ओएस से सही वर्तमान समय प्राप्त करता है; हालांकि, अगर मैं स्नैपशॉट से डिवाइस को पुनः लोड करता हूं, तो स्नैपशॉट बनने के पल से समय/तिथि मिलती है (उदाहरण के लिए जब मैं एमुलेटर बंद करता हूं)। समय/तिथि किसी भी समय के बाद फिर से सिंक नहीं होती है। मेरे पास एकमात्र तरीका है जो मैंने पाया है स्नैपशॉट से बहाल करने के बाद समय को मैन्युअल रूप से अपडेट करना है। एपीआई स्तर 15नकली एंड्रॉइड डिवाइस स्नैपशॉट

  • CPU/ABI = एआरएम (armeabi-v7a)

  • एसडी -

    • लक्ष्य = एंड्रॉयड 4.0.3:

      एंड्रॉयड वर्चुअल डिवाइस डिफ़ॉल्ट गुण है कार्ड = एन/ए

    • स्नैपशॉट = सक्षम

    • सार एलसीडी घनत्व = 240

    • मैक्स वीएम आवेदन ढेर आकार = 48

    • डिवाइस रैम आकार = 512

    मैं पर OS X Snow Leopard और विंडोज 7 एमुलेटर की कोशिश की है , दोनों एक ही समस्या दिखाते हैं। स्नैपशॉट से बहाल करने के बाद एमुलेटर स्वचालित रूप से समय सिंक करने का कोई तरीका है?

  • +0

    किसी को जो एक बहुत ही त्वरित अस्थायी और गंदा समाधान की तलाश में है के लिए। अपने एमुलेटर उदाहरण से बाहर निकलें और स्वचालित समय और समय क्षेत्र के साथ इसे वापस शुरू करें। – JosephMCasey

    उत्तर

    1

    मैंने इस समाधान के लिए कई बार पहले खोज की है और जब मैंने आपका प्रश्न देखा तो मैंने फिर से खोज की लेकिन मैं आपको और मेरे अलावा किसी और को शिकायत नहीं कर सका, शायद अन्य लोग उस समय ऐप्स नहीं बना सकते महत्वपूर्ण है या वे एक वास्तविक डिवाइस पर परीक्षण करते हैं।

    निष्कर्ष: कोई फिक्स नहीं है, आपको इसे मैन्युअल रूप से सेट करना होगा या स्नैपशॉट का उपयोग नहीं करना होगा।

    +1

    हां, यहां एक भी है। यदि आप अपने ऐप में एसएसएल का उपयोग करते हैं, तो उसे सही समय चाहिए। मुझे इसके कारण अजीब त्रुटियां मिलीं ... इस पर एक बग फाइल करना चाहिए। – Peterdk

    30

    मैं एक ही समस्या में भाग रहा हूं, और ऐसा करने का एक मानक तरीका प्रतीत नहीं होता है। हालांकि, एडीएल खोल की date कमांड का उपयोग करके एक एमुलेटर की तिथि और समय अपडेट किया जा सकता है, जिसे वर्तमान ओएसलेटर तिथि और समय को वर्तमान दिनांक और समय में अपडेट करने के लिए आपके ओएस पर दिनांक और समय प्रदर्शित करने के लिए मानक कमांड के संयोजन के साथ उपयोग किया जा सकता है।

    एमुलेटर की दिनांक और समय सेट करने के लिए, आप अपने ओएस में निम्न आदेश पर अमल करने की जरूरत है:

    adb shell date -s YYYYmmdd.HHMMSS 
    

    जहां YYYYMMDD तारीख है और HHMMSS समय है।

    लिनक्स/MacOS

    वर्तमान दिनांक और समय के लिए एमुलेटर की तारीख और समय निर्धारित करना है एक Unix- शैली खोल से अपेक्षाकृत सीधा है, तो निम्न आदेश Linux और MacOS पर काम करेंगे:

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

    विंडोज

    Windows (जो मैं उपयोग कर रहा हूँ) पर, यह करने के लिए सबसे आसान तरीका है विंडोज PowerShell के माध्यम से है:

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

    कमांड प्रॉम्प्ट में, यह थोड़ा और मुश्किल है क्योंकि तिथि और समय प्रदर्शित करने के लिए कस्टम प्रारूप निर्दिष्ट करने का कोई तरीका नहीं है। लोकेल-स्वतंत्र प्रारूप में इसे प्राप्त करने का सबसे अच्छा तरीका wmic os get LocalDateTime (लाइन 2) कमांड का उपयोग कर रहा है। इसके दिनांक-समय प्रारूप को एडीबी खोल द्वारा आवश्यक प्रारूप में अनुकूलित करने के लिए पार्स किया जा सकता है: :~ प्रतीकों को %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% चर में दिनांक-समय की बचत होती है और फिर को पास कर इसे उचित रूप से पार्स करके एडीबी। !% से read the variable on-the-fly के बजाय उपयोग किया जाता है। यह सब प्रक्रिया में /v विकल्प के साथ लॉन्च किया गया है जो इस ऑन-द-फ्लाई वैरिएबल रीडिंग को सक्षम बनाता है।

    +0

    बस इस अच्छे उत्तर के लिए एक अतिरिक्त: यदि आप 'adb' स्थान पर जाने के लिए Windows PowerShell के अंदर' cd' कमांड का उपयोग करते हैं, तो आपको आदेश निष्पादित करने के लिए 'adb' के बजाय'। \ Adb' का उपयोग करने की आवश्यकता हो सकती है। –

    +4

    यह वह आदेश है जो मैकोज़ पर मेरे लिए काम करता है: adb -e shell su root date \ 'date +"% m% d% एच% एम% y "\' – user836003

    +0

    'adb shell date -s' में काम नहीं करता है मैक ओ एस। और @ user836003 southion 'adb -e shell su root date' date + "% m% d% एच% एम% y" 'ठीक काम करता है – Ninja

    3

    मैंने bug report खोला।

    मेरे पास एक ही तरह की समस्याएं हैं, और कठोर तरीके से पता चला है क्योंकि एसएसएल का उपयोग करने वाला मेरा ऐप बहुत अजीब त्रुटियां दे रहा है। यह गलत तारीख और समय के कारण था।

    स्पष्ट रूप से यह अभी तक रिपोर्ट नहीं किया गया है।

    +0

    मैं आपकी बग रिपोर्ट को "अपेक्षित परिणाम" के साथ स्पष्ट कर दूंगा: इसे स्नैपशॉट से लोड होने पर समय को पुनर्वित्त करना चाहिए [केवल तभी जब इसकी वरीयता सेटिंग नेटवर्क से समय/तारीख को स्वचालित रूप से सिंक करने के लिए कहती है]। " –

    0

    वोट दिया आर्थन का जवाब।

    ऐसा लगता है कि मेजबान मशीन नींद होने पर एमुलेटर सिंक हो जाता है।

    मैं व्यक्तिगत रूप से इसके लिए निम्नलिखित प्रोग्राम का उपयोग कर रहा हूं।

    public class AdbShellDateNow { 
    
        public static void main(final String[] args) 
         throws java.io.IOException, InterruptedException { 
    
         final long now = System.currentTimeMillis()/1000L; 
         final ProcessBuilder builder = 
          new ProcessBuilder("adb", "shell", "date", Long.toString(now)); 
         builder.redirectErrorStream(true); 
         builder.redirectOutput(ProcessBuilder.Redirect.INHERIT); 
    
         final Process process = builder.start(); 
         process.waitFor(); 
        } 
    } 
    
    1

    नए Android संस्करण 6 एपीआई 23 चल एमुलेटर पर, निम्नलिखित PowerShell आदेश मेरे लिए काम किया।

    Windows PowerShell

    adb shell date $(get-date -format MMddHHmmyyyy.ss)

    एंड्रॉयड एमुलेटर पर संस्करण 7 एपीआई 24:

    adb shell su root date $(get-date -format MMddHHmmyyyy.ss)

    +1

    मैंने इसका इस्तेमाल किया और एंड्रॉइड स्टूडियो में "बाहरी टूल" बनाया ताकि मैं इसे चला सकूं। मेरे ओथ टोकन समय संवेदनशील हैं और मुझे समय मिल रहा था कि 12 घंटे या उससे अधिक दूर। धन्यवाद। – DoctorD

    संबंधित मुद्दे