android - एंड्रॉइड एमुलेटर-5554 ऑफ़लाइन
android-emulator (20)
मुझे एमुलेटर -5554 के साथ समस्या हो रही है, यह मुझे बताती है कि यह ऑफ़लाइन है।
जब मैं कमांड लाइन से adb devices
करता हूं तो यह कहता है
emulator-5554 offline
ताजा पुनरारंभ करने के बाद भी, मैं उस आदेश को आजमाता हूं और यह अभी भी कहता है कि यह ऑफ़लाइन है।
समस्या यह है कि जब मैं कमांड प्रॉम्प्ट से abd install <path>
का उपयोग कर एमुलेटर में .apk फ़ाइलों को स्थापित करने का प्रयास करता हूं, तो यह मुझे बताता है कि यह ऑफ़लाइन है, अगर मैं कोई अन्य डिवाइस बनाता हूं और उसे चलाता हूं, तो .apk इंस्टॉल करने का प्रयास करें फाइलें, यह कहती है कि मेरे पास बहुत से डिवाइस जुड़े हुए हैं। तो दूसरे शब्दों में, मैं अपनी .apk फ़ाइलों को इंस्टॉल नहीं कर सकता।
दुनिया में कैसे मैं उस डरावनी एमुलेटर -5554 से छुटकारा पा सकता हूं? मैंने सुना है कि यदि आप पुनरारंभ करते हैं, तो यह सभी उपकरणों को साफ़ करना चाहिए, लेकिन ऐसा लगता है कि यह काम नहीं कर रहा है। ऐसा लगता है कि जब मेरा कंप्यूटर शुरू होता है तो इसे प्रारंभ किया जा रहा है। क्या कोई इस मुद्दे में भाग गया है?
धन्यवाद
यह समाधान विंडोज के लिए है।
( मैक / लिनक्स के लिए @ क्रिस नाइट का समाधान देखें)
विंडोज पावरहेल शुरू करें:
प्रारंभ करें -> 'powerhell' टाइप करें -> ENTER दबाएं
निम्न आदेश चलाएं: adb डिवाइस
PS C:\Users\CJBS>adb devices
List of devices attached
emulator-5656 host
emulator-5652 host
12b80FF443 device
इस मामले में, 12b80FF443 मेरा भौतिक उपकरण है, और एमुलेटर- * प्रविष्टियां कचरा हैं।
प्रति @Brigham , "जिस तरह से एंड्रॉइड अनुकरणकर्ताओं का पता लगाता है वह बंदरगाह 5555 से शुरू होने वाले बंदरगाहों को स्कैन कर रहा है।" पोर्ट नंबर को एमुलेटर नाम के बाद इंगित किया गया है (इस मामले में 5656 और 5652)। चेक करने के लिए पोर्ट नंबर एमुलेटर पोर्ट नंबर प्लस 1 है। तो इस मामले में: -
5656 + 1 = 5657
5652 + 1 = 5653
तो देखते हैं कि कौन सा प्रोग्राम इन बंदरगाहों का उपयोग कर रहा है। इस मामले में, बंदरगाहों को जांचने के लिए दोनों "565" से शुरू होते हैं। तो मैं 565 के साथ शुरू होने वाले बंदरगाहों की खोज करूंगा। निष्पादित करें:
netstat -a -n -o | Select-String ":565"
netstat -a -n -o | Select-String ":565"
PS C:\Users\CJBS> netstat -a -n -o | Select-String ":565"
TCP 127.0.0.1:5653 127.0.0.1:5653 ESTABLISHED 5944
TCP 127.0.0.1:5657 127.0.0.1:5657 ESTABLISHED 5944
- इस आउटपुट में अंतिम क्षेत्र पीआईडी (प्रोसेस आईडी) है - इस मामले में यह इन दो बंदरगाहों के लिए पीआईडी 5 9 44 है। तो देखते हैं कि यह प्रक्रिया आईडी क्या है। निष्पादित
tasklist /v | Select-String 5944
:tasklist /v | Select-String 5944
tasklist /v | Select-String 5944
। पिछली कमांड के आउटपुट के साथ 5 9 44 को बदलें:
PS C:\Users\CJBS> tasklist /v | Select-String 5944
adb.exe 5944 Console 1 6,800 K Running MyPCName\CJBS 0:06:03 ADB Power Notification Window
क्या आश्चर्य है। यह एडीबी है। जैसा कि अन्य उत्तरों द्वारा उल्लेख किया गया है, यह भी अन्य कार्यक्रम हो सकता है।
- अब, बस इस प्रक्रिया आईडी को मार डालो। पिछली कमांड में पीआईडी के साथ 5944 की जगह,
kill 5944
।
PS C:\Users\CJBS> kill 5944
- यह पुष्टि करने के लिए कि नकली एमुलेटर चला गया है, निम्न आदेश दोबारा चलाएं: adb devices
PS C:\Users\CJBS>adb devices
List of devices attached
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
12b80FF443 device
एडीबी फिर से शुरू होता है (जैसा कि पहले इसे मारा गया था), और यह नकली अनुकरणकर्ताओं का पता नहीं लगाता है।
"उपयोगकर्ता डेटा मिटाएं" विकल्प अंततः मेरी समस्या हल हो गया। हर बार जब आप एमुलेटर शुरू करते हैं तो उपयोगकर्ता डेटा को मिटा दें। यह हमेशा मेरे लिए काम करता है! मैं विंडोज 8 x64, ग्रहण का उपयोग करें
अंत में मैंने इस समस्या को हल किया, मुझे एमुलेटर में सेटिंग्स से डेवलपर विकल्पों पर जाना पड़ा, फिर यूएसबी डीबगिंग चालू करने के बाद थोड़ा नीचे स्क्रॉल किया गया। तुरंत मेरे डिवाइस को ऑनलाइन पहचाना गया, और अब मुझे उस मुद्दे का सामना नहीं करना पड़ा। मैंने एंड्रॉइड स्टूडियो और एमुलेटर को पुनरारंभ करने की कोशिश की, एडीबी प्रक्रिया को मार दिया, लेकिन यह काम नहीं किया।
अगर एमुलेटर पहले से ही खुला है या इसे निष्पादित कर रहा है तो आपको बताएगा कि आप ऑफ़लाइन हैं। आप कमांड लाइन (उबंटू) पर दोबारा जांच कर सकते हैं और निष्पादित कर सकते हैं:
adb devices
आपको अपने एमुलेटर को ऑफ़लाइन देखना होगा, आपको एमुलेटर के चल रहे इंस्टेंस को बंद करना होगा (क्योंकि पोर्ट व्यस्त के रूप में दिखाएगा) और उसके बाद आप अपना एप्लिकेशन चला सकते हैं। उम्मीद है कि यह किसी की मदद करता है।
उपर्युक्त उत्तरों में मदद नहीं मिली, और फिर मैंने हटा दिया और एमुलेटर को फिर से बनाया गया सभी ठीक काम किया
एवीडी प्रबंधक से ड्रॉप-डाउन में "शीत बूट अब" विकल्प आज़माएं। यह मेरे लिए काम किया!
क्या आपके पास ब्लूस्टैक्स स्थापित हैं? यदि आप करते हैं, तो पृष्ठभूमि प्रक्रियाएं जो चलती हैं वह ऑफ़लाइन डिवाइस "एमुलेटर -5554" बनाती है।
कार्य प्रबंधक पर जाएं और "ब्लूस्टैक्स" के विवरण के साथ सभी प्रक्रियाओं को समाप्त करें
क्या आपने अपने एवीडी को हटाने और पुनर्निर्माण करने का प्रयास किया था? आप निर्देशिका में जाकर निर्देशिका में जाकर AVD फ़ाइलों को मैन्युअल रूप से हटा सकते हैं (आपके उपयोगकर्ता के / .android/avd उपनिर्देशिका में)।
पोर्ट एंड्रॉइड का पता लगाने का तरीका बंदरगाह 5555 से शुरू होने वाले बंदरगाहों को स्कैन कर रहा है।
adb devices
सूची में आपके द्वारा देखी जाने वाली संख्या (आपके मामले में 5554) उस बंदरगाह से कम होगी जो एडीबी खुला है।
आपके पास शायद एक प्रक्रिया चल रही है जो पोर्ट 5555 पर सुन रही है। "ऑफलाइन" डिवाइस से छुटकारा पाने के लिए, आपको उस एप्लिकेशन को ढूंढना होगा और इसे बंद करना होगा या इसे एक अलग बंदरगाह को सुनने के लिए पुन: कॉन्फ़िगर करना होगा।
बस एवीडी प्रबंधक से उपयोगकर्ता डेटा मिटाएं और फिर एडीबी हत्या-सर्वर और एडीबी डिवाइस दर्ज करें। विइपिंग डेटा सिस्टम में बहुत मेमोरी स्पेस भी बचाता है।
बस लिखें
adb -e reboot
और एडीबी से खुश रहें))
मुझे भी यही समस्या थी। मैंने यहां सभी समाधानों का वर्णन करने की कोशिश की है लेकिन उन्होंने मेरी मदद नहीं की है। फिर मैंने एंड्रॉइड वर्चुअल डिवाइस मैनेजर में सभी अनुकरणकर्ताओं को हटा दिया है और नए बनाए हैं। समस्या एंड्रॉइड वर्चुअल डिवाइस मैनेजर की सीपीयू / एबीआई सिस्टम छवि कॉन्फ़िगरेशन में थी। सिस्टम छवि x86
साथ मेरे विंडोज 10 मशीन एमुलेटर पर हमेशा ऑफलाइन है जहां सिस्टम छवि x86_64
साथ एमुलेटर अपेक्षित के रूप में ठीक काम कर रहा है। बस इसके बारे में पता होना चाहिए
मेरे मामले में, मुझे कुछ प्रक्रिया मिली जो एडीबी अच्छी तरह से काम नहीं करता है।
आप कुछ अजीब प्रक्रिया को मारने और परीक्षण के लिए "एडीबी डिवाइस" चलाने की कोशिश कर सकते हैं।
यह मेरे लिए काम किया:
प्रक्रिया नाम MONyog.exe को मार डालो
मेरे मामले में, मैंने "जीपीयू होस्ट" अनचेक किया है और इसका काम किया है :)
मैंने अपना कमांडप्रोप्ट खोलकर इसे हल किया:
एडीबी हत्या सर्वर
एडीबी डिवाइस
शुरू करने के बाद, एडीबी अब डिवाइस / एमुलेटर का पता लगाता है।
मैंने पाया कि जब मैं एडीबी संशोधन का उपयोग कर रहा हूं तो हाल ही में इम्यूलेशन पर्यावरण "ऑफलाइन" के रूप में आता है। मैंने अपने पथ (और पुराने एडीबी संस्करण को हटा दिया) और "adb kill-server", "adb devices" पर ठीक से अपडेट किया, इम्यूलेशन वातावरण अब "ऑफ़लाइन" के रूप में नहीं आया है।
मैं उस बिंदु के बाद तुरंत "adb shell" का उपयोग करने में सक्षम था।
यदि आप लिनक्स या मैक पर हैं, और ऑफ़लाइन डिवाइस मानते हैं 'emulator-5554' है, तो आप निम्न को चला सकते हैं:
netstat -tulpn|grep 5554
जो निम्नलिखित आउटपुट उत्पन्न करता है:
tcp 0 0 127.0.0.1:5554 0.0.0.0:* LISTEN 4848/emulator64-x86
tcp 0 0 127.0.0.1:5555 0.0.0.0:* LISTEN 4848/emulator64-x86
यह मुझे बताता है कि प्रक्रिया आईडी 4848 (आपकी संभावना अलग होगी) अभी भी पोर्ट 5554 पर सुन रही है। अब आप उस प्रक्रिया को मार सकते हैं:
sudo kill -9 4848
और भूत ऑफलाइन डिवाइस अब और नहीं है!
यह इस तथ्य के कारण है कि आपके मशीन पर एक और आभासी डिवाइस स्थापित है। यह ब्लूस्टैक्स हो सकता है क्योंकि मुझे भी इसी तरह की समस्या का सामना करना पड़ा। मैंने ब्लूस्टैक्स को अनइंस्टॉल किया और फिर adb devices
जांच की तो यह ठीक चल रहा था।
विंडोज़ टास्क मैनेजर और एंड प्रोसेस "adb.exe" पर जाएं। एक ही प्रक्रिया के 1 से अधिक उदाहरण हो सकते हैं, उन सभी को समाप्त करना सुनिश्चित करें।
सुनिश्चित करें कि आपका सक्षम एडीबी एकीकरण चिह्नित है; टूल्स> एंड्रॉइड> एडीबी एकीकरण को सक्षम करें पर जाएं।
यदि चेक नहीं किया गया है, तो इस विकल्प को जांचें और अपना वर्चुअल डिवाइस बंद करें और इसे फिर से खोलें। यह मेरे लिए काम किया .. शुभकामनाएँ !!