2010-06-23 21 views
7

मैं एंड्रॉइड मंच के हिस्सों को संशोधित/संपादित कर रहा हूं, लेकिन मेरे संपादन का परीक्षण करने की कोशिश करते समय एक समस्या में भाग गया है। प्लेटफ़ॉर्म स्रोत में मेरे परिवर्तन करने के बाद, मैं स्रोत को सफलतापूर्वक संकलित करने में सक्षम था - इस प्रकार system.img, ramdisk.img, और userdata.img बना रहा।एंड्रॉइड एमुलेटर स्टार्टअप पर लटक रहा है?

जब मैं एमुलेटर में इसका परीक्षण करने के लिए जाता हूं, तो एमुलेटर अंडरस्कोर ब्लिंकिंग के साथ "एंड्रॉइड_" स्क्रीन पर बस लटकता है, लेकिन कभी लोड नहीं होता है। कोई सुझाव?

आदेश मैं चलाने के लिए एमुलेटर इस प्रकार है प्रयोग किया है:,
क्रिस

उत्तर

8

./emulator -system $HOME/android/platform/out/target/product/generic/system.img -ramdisk $HOME/android/platform/out/target/product/generic/ramdisk.img -data $HOME/android/platform/out/target/product/generic/userdata.img

धन्यवाद पहले स्टार्टअप विशेष रूप से एक धीमी गति से मशीन पर, कुछ समय लग सकता है, लेकिन अन्यथा कोशिश लॉग आउटपुट देखने के लिए adb logcat कमांड चला रहा है। यह आपको यह निर्धारित करने में मदद करेगा कि समस्या क्या हो सकती है।

यदि आप एमुलेटर के लिए सभी विकल्पों की आपूर्ति करना छोड़ना चाहते हैं, यानी - सिस्टम और अन्य आप बिल्ड फ़ोल्डर में आपूर्ति की गई स्क्रिप्ट का उपयोग कर सकते हैं। ओपन सोर्स प्रोजेक्ट रूट फ़ोल्डर से इन आदेशों को चलाने:

source build/envsetup.sh 
setpaths 

पहले एक है कि उपयोगी आदेशों के एक नंबर की आपूर्ति Android के लिए envsetup स्क्रिप्ट चलेंगे। दूसरा, एंड्रॉइड प्लेटफ़ॉर्म विकास के लिए आवश्यक सभी पथ सेट करता है। उनमें से ANDROID_PRODUCT_OUT वेरिएबल हैं जो निर्माण छवियों को देखने के लिए एमुलेटर को सूचित करते हैं। यह आपके द्वारा ऊपर निर्दिष्ट डिफ़ॉल्ट फ़ोल्डरों पर सेट है। सेटपैथ चलाने के बाद आप कमांड लाइन पर एमुलेटर टाइप करके अपने निर्माण के साथ एमुलेटर शुरू कर सकते हैं।

+1

सुझावों के लिए धन्यवाद। मैंने adb logcat कमांड चलाने की कोशिश की, जिसने मुझे और अधिक दिखाया। ऐसा प्रतीत होता है कि एमुलेटर कुछ प्रकार के अनंत बूट लूप में फंस गया है। पाश AndroidRuntime स्टार्ट <<<<<<<<<<<<<< साथ शुरू होता है और प्रत्येक यात्रा साथ मैं/ServiceManager (25) समाप्त होता है: सेवा 'media.audio_flinger' मृत्यु हो गई मैं/ServiceManager (25): सेवा 'media.player' की मृत्यु हो गई I/ServiceManager (25): सेवा 'media.camera' की मृत्यु हो गई I/ServiceManager (25): सेवा 'media.audio_policy' की मृत्यु हो गई – Chrisc

+0

हम्म, यह हो सकता है कि यह एक हो महत्वपूर्ण सेवाएं शुरू करने में विफल होती हैं और उस init के कारण पूरे एंड्रॉइड रनटाइम को पुनरारंभ करने का प्रयास किया जाएगा। आप जिस मशीन पर चलते हैं उसके आधार पर हमने एमुलेटर में ऑडियो के साथ कुछ मुद्दों का अनुभव किया है, इस मामले में -नोएडियो विकल्प मदद कर सकता है। साथ ही, क्या आपने बिल्ड करने की कोशिश की है और अपने परिवर्तनों के बिना "जैसा है" प्रोजेक्ट चलाएं। यह जानना हमेशा अच्छा होता है कि प्लेटफ़ॉर्म संशोधनों को आजमाने से पहले डिफ़ॉल्ट सिस्टम चलता है। – BMB

+0

धन्यवाद बीएमबी, यह पता चला कि मेरे कोड में कहीं भी एक त्रुटि हो रही थी। मेरी सामग्री में और समायोजन के साथ, एंड्रॉइड सफलतापूर्वक बूट हो गया। – Chrisc

1

मुझे इसे चलाने के लिए सामान्य रूप से इसे पुनरारंभ करना होगा। आज यह कोई फर्क नहीं पड़ता कि इससे कोई फर्क नहीं पड़ता। एक ./adb logcat करना लगातार 'डिवाइस के लिए प्रतीक्षा' दिखाया। इसलिए मैंने इसे एक्लिप्स एंड्रॉइड एसडीके और एवीडी मैनेजर/स्टार्ट ... (विकल्प) का उपयोग करके पुनरारंभ किया, 'स्नैपशॉट से लॉन्च' विकल्प को अन-चेक करके, और इसे लोड करने के लंबे पीसने के बाद, एमुलेटर काम करता है।

10

मुझे यह समस्या थी और इसे एमुलेटर हटाने और एक नया निर्माण करके इसे ठीक किया गया। ग्रहण में:

  1. मेनू विंडो -> Android एस वी और AVD प्रबंधक
  2. (पहले से ही चयनित किया जाना चाहिए) आभासी उपकरणों का चयन करें
  3. एमुलेटर आप समस्याओं दे रही है का चयन करें सेटिंग पर नज़र डालें और याद करने के लिए
  4. संपादित करें उन्हें।
  5. एमुलेटर हटाएं।
  6. एक नया बनाएं जो पुराने जैसा ही है।
  7. प्रारंभ बटन से यहां से एमुलेटर प्रारंभ करें।

यह करने के बाद लगभग 30 सेकंड में शुरू हुआ।

आम तौर पर एम्यूलेटर मेरे लिए लगभग 2-3 मिनट में शुरू होता है। फिर यह रहस्यमय तरीके से काम करना बंद कर दिया। मैं छोड़ने से पहले 30 मिनट के लिए बूट एनीमेशन देख रहा था। मेरे लैपटॉप को रीबूट करने में मदद नहीं मिली, जिसने मुझे लगा कि यह एमुलेटर सेटिंग्स के साथ एक समस्या थी, और मैंने इस समाधान पर ठोकर खाई।

  • नोट # 1: ऐसा करने से आपका उपयोगकर्ता डेटा मिटा देगा।
  • नोट # 2: जैसा कि बताया गया है, जब आप एमुलेटर बनाते या संपादित करते हैं तो स्नैपशॉट के लिए "सक्षम" जांचना एक अच्छा विचार है, इससे आपको अगली बार तेज स्टार्टअप करने की सुविधा मिलती है।
  • नोट # 3: मेरा नया एमुलेटर चीनी में आया था। यह अजीब तरह का है :)
+0

इसके लिए धन्यवाद, सरल फिक्स लेकिन इतना obvoius नहीं ... मुझे बहुत सिरदर्द बचाया! – Robert

1

एक कमजोर मशीन (राम: केवल 1 जीबी) पर एमुलेटर शुरू करने के लिए मेरी चाल WinXP बूटिंग समाप्त होने के बाद पहली चीज़ के रूप में शुरू करने के लिए है। इसके अलावा, एक छोटे संकल्प के साथ एक एमुलेटर उदाहरण का उपयोग (अनुकरण करने के लिए प्रदर्शन पर पिक्सेल की छोटी संख्या, उदाहरण के लिए 240x400) भी मदद की।

6

एमुलेटर के साथ क्या हो रहा है यह देखने के लिए टर्मिनल में adb logcat का उपयोग करने का प्रयास करें। जब मैंने ऐसा किया तो मैंने

I/ServiceManager( 918): service 'media.audio_flinger' died 
I/ServiceManager( 918): service 'media.player' died 
I/ServiceManager( 918): service 'media.camera' died 
I/ServiceManager( 918): service 'media.audio_policy' died 

प्रत्येक 10s या दोहराना दोहराया। मैंने एवीडी में अपने कैमरे को सक्षम करने की कोशिश की और एमुलेटर काम करना शुरू कर दिया।

कैमरा सक्षम करने के लिए टर्मिनल में android avd दर्ज करें और फ्रंट और बैक कैमरा विकल्प सेट करें।

+0

यह काम करता है ... धन्यवाद आदमी – Massimo212121

+0

टर्मिनल का उपयोग कर फ्रंट और बैक कैमरा विकल्प कैसे सेट करें? कोई आदेश? – Darpan

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