एंड्रॉइड एमुलेटर कीबोर्ड इनपुट नहीं लेता है - एसडीके टूल 20


324

मैंने 20 (18 से) संशोधन करने के लिए एसडीके टूल्स को अपग्रेड किया है और अपग्रेड के बाद से, एमुलेटर लैपटॉप के कीबोर्ड से इनपुट स्वीकार नहीं करता है। लेकिन केवल एमुलेटर के स्वयं के 'सॉफ्ट' कीबोर्ड का उपयोग करना (यह तब दिखाई देता है जब इनपुट फ़ील्ड पर ध्यान केंद्रित किया जाता है)।

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

किसी को भी इस समस्या का सामना करना पड़ा है?


इसका एक दुष्परिणाम यह प्रतीत होता है कि एमुलेटर में खोज बटन काम भी नहीं करता है। शुक्र है, कीबोर्ड के लिए एक ही फिक्स सर्च बटन को भी ठीक करता है।
बामउपिन

मैंने यह भी पाया है कि कुछ ऐप्स के लिए मुझे जाना था Extended Controls-> Send keyboard shortcuts to->s/Emulator controls (default)/Virtual device/
Snapfractalpop

जवाबों:


468

अपडेट करें

एसडीके रिव 21 के रूप में एंड्रॉइड वर्चुअल डिवाइस मैनेजर में एक बेहतर यूआई है जो इस मुद्दे को हल करता है। मैंने नीचे कुछ और महत्वपूर्ण विन्यास सेटिंग्स पर प्रकाश डाला है:

यहां छवि विवरण दर्ज करें

आपको लगता है कि मुलायम (स्क्रीन-आधारित) नोटिस मुख्य कुंजी हैं Back, Homeआदि अपने एमुलेटर से याद कर रहे हैं आप सेट कर सकते हैं hw.mainKeys=noउन्हें सक्षम करने।

यहां छवि विवरण दर्ज करें

मूल उत्तर

भले ही डेवलपर प्रलेखन कहता है कि कीबोर्ड समर्थन डिफ़ॉल्ट रूप से सक्षम है, यह एसडीके रेव 20 में उस तरह से प्रतीत नहीं होता है। मैंने अपने एमुलेटर के config.ini फ़ाइल में स्पष्ट रूप से सक्षम कीबोर्ड समर्थन किया है और यह काम किया है!

जोड़ें: hw.keyboard=yes

सेवा: ~/.android/avd/<emulator-device-name>.avd/config.ini

इसी तरह, hw.dPad=yesयदि आप एप्लिकेशन सूची को नेविगेट करने के लिए तीर-कुंजियों का उपयोग करना चाहते हैं तो जोड़ें ।

संदर्भ: http://developer.android.com/tools/devices/managing-avds-cmdline.html#hardwareopts

Mac OS और Linux पर आप अपने सभी एमुलेटर कॉन्फ़िगरेशन को एक टर्मिनल कमांड से संपादित कर सकते हैं:

for f in ~/.android/avd/*.avd/config.ini; do echo 'hw.keyboard=yes' >> "$f"; done


संबंधित नोट पर, यदि आपका टैबलेट एमुलेटर BACK / HOME बटन गायब है, तो WXGA800 को एवीडी संपादक में अंतर्निहित त्वचा के रूप में चुनने का प्रयास करें : यहां छवि विवरण दर्ज करें

या config.ini में त्वचा को मैन्युअल रूप से सेट करके:

skin.name=WXGA800
skin.path=platforms/android-16/skins/WXGA800

(उदाहरण एपीआई 16 के लिए है)


1
जैसा कि अन्य उत्तरों में बताया गया है कि आप AVD प्रबंधक टूल का भी उपयोग कर सकते हैं, लेकिन मैंने ऐसे बग अनुभव किए हैं जो इसे कॉन्फ़िगर परिवर्तनों को सहेजने से रोकते हैं।
जेम्स वाल्ड

क्या कोई वैश्विक सेटिंग है जो मेरे सभी मौजूदा avd को प्रभावित करेगी? मैं लगभग 20 मौजूदा avd को बदलना नहीं चाहता।
होआंग ट्रान

@HoangTran कोई वैश्विक कॉन्फ़िगरेशन नहीं है, हालांकि, यदि आप मैक ओएस का उपयोग कर रहे हैं, तो आप उस टर्मिनल कमांड का उपयोग कर सकते हैं जिसे मैंने एक ही बार में सभी मौजूदा AVD को संपादित करने के लिए उत्तर में जोड़ा था।
जेम्स वाल्ड

अफसोस की बात है कि इस समाधान मेरे लिए काम नहीं किया। कमांड चलाने के बाद, कीबोर्ड अभी भी मेरे एवड में काम नहीं करता है।
जस्टिन

1
एसडीके के संस्करण 21 होने के बावजूद, विन्यास फाइल का संपादन मेरे लिए काम करता है, लेकिन अजीब तरह से मुझे चित्र में दिखाए गए यूआई दिखाई नहीं देते हैं।
3by में offby1

112

की पुष्टि। मुझे टूल वर्जन 20 में अपग्रेड करने के बाद भी यही समस्या थी। मुझे एवीडी को एडिट करने के लिए निम्नानुसार एड करना था:

  1. ग्रहण से, AVD Mananger पर जाएं।
  2. विशेष AVD का चयन करें और Edit पर क्लिक करें
  3. हार्डवेयर सेक्शन में जाएं, न्यू पर क्लिक करें।
  4. प्रॉपर्टी का नाम चुनें: कीबोर्ड सपोर्ट
  5. डिफ़ॉल्ट रूप से, इसे 'नहीं' के मान के साथ जोड़ा जाता है। बस मान स्तंभ पर क्लिक करें और इसे 'हां' में बदलें।
  6. फिर से संपादित AVD पर क्लिक करें।

यह AVD के लिए config.ini फ़ाइल में एक गुण hw.keyboard = yes जोड़ेगा।

आपको hw.mainKeys = Yes सेट करना होगा


19
सुनिश्चित करें कि मान स्तंभ संपादित करें AVD पर क्लिक करने से पहले फोकस खो देता है या 'हां' में परिवर्तन सहेजा नहीं जाएगा!
नटखट

1
नमस्ते, मैंने उपरोक्त निर्देशों का पालन किया है, लेकिन फिर भी अपने पीसी कुंजी बोर्ड का उपयोग करके कोई भी पाठ सम्मिलित नहीं कर सकता। जब मैं AVD प्रबंधक के तहत सूचीबद्ध AVD पर डबल क्लिक करता हूं, तो मुझे पता चलता है कि संपादन सफल है क्योंकि यह hw.keyboard को इंगित करता है: हाँ। क्या मैं कुछ भूल रहा हूँ???
जिबीडब्ल्यू

3
मैं निम्नलिखित सुझाव देता हूं: AVD को हटाएं और कीबोर्ड समर्थन के साथ पूरी तरह से ताजा AVD बनाएं।
रोमी

59

Android Studio में, AVD Manager (उपकरण> Android> AVD Manager) खोलें। एमुलेटर के एडिट बटन पर टैप करें: यहां छवि विवरण दर्ज करें

"उन्नत सेटिंग दिखाएं" चुनें यहां छवि विवरण दर्ज करें

"कीबोर्ड इनपुट सक्षम करें" जांचें यहां छवि विवरण दर्ज करें

समाप्त करें पर क्लिक करें और कीबोर्ड इनपुट का आनंद लेने के लिए एमुलेटर शुरू करें।


Enablinh कीबोर्ड इनपुट सेटिंग के बाद मेरे लिए काम किया, लेकिन यह सोचकर कि यह पहली बार में ही कैसे काम करना बंद कर देता है।
Justcurious

3
यह इतना निराशाजनक है कि यह चेकबॉक्स हर एम्यूलेटर अपडेट के बाद खुद को अनचेक करता है :(
मिशा अकोपोव

2
मेरे मामले में, कीबोर्ड सक्षम था, लेकिन एमुलेटर में काम नहीं किया। कीबोर्ड को अक्षम करना, एमुलेटर चालू करना, एमुलेटर को समाप्त करना, कीबोर्ड को सक्षम करना है।
बीराल

15

AVD प्रबंधक में देखें, AVD का चयन करें और Edit में क्लिक करें। हार्डवेयर अनुभाग में: "नया" पर क्लिक करें और "कीबोर्ड समर्थन" के लिए खोजें और ओके बटन के साथ जोड़ें और "हां" का मान सेट करें और "एडिट एवीडी" के साथ परिवर्तन सहेजें


अजीब बात है, जब मैं इस मूल्य को हां में सेट करता हूं, तो यह मान को वापस नहीं करने के लिए मजबूर करता है, वैसे भी एक नए डिवाइस के साथ फिर से परीक्षण करेगा
epsilonpsi

मैंने इस उत्तर को प्राथमिकता दी। AVD प्रबंधक का उपयोग config.ini फ़ाइल को बदलने की तुलना में अधिक यादगार समाधान है।
सेठ

10

Google डेवलपर्स को कुछ और सिरदर्द देना चाहता था।

तो, अब आपको क्या करना है अपने AVD को संपादित करें और हार्डवेयर अनुभाग में इसके लिए "कीबोर्ड सपोर्ट" जोड़ें और मान को "I" में बदलें।


1
मेरे लिए काम नहीं किया, "हाँ" का एवीडी कीबोर्ड समर्थन मूल्य बचा नहीं है, यह "नहीं" पर वापस लौटना जारी रखता है।
जस्टिन

दरअसल Google चीजों में सुधार करना चाहता था। अधिकांश उपकरणों में अब हार्डवेयर कीबोर्ड नहीं हैं, इसलिए डिफ़ॉल्ट को कोई भी अक्षम / अक्षम नहीं होना चाहिए। हाँ, एक के साथ एमुलेटर के साथ काम करना आसान है, लेकिन यह वास्तविक दुनिया की स्थितियों को प्रतिबिंबित नहीं कर रहा है। सही तरीका यह है कि देवों को विशेष रूप से सक्षम बनाया जाए।
चार्ली कोलिन्स


2

बस के मामले में किसी को यह उपयोगी लगता है।

मुझे KEYCODE_DPAD_UP के साथ एक समस्या थी, यह TrackBall का है। इस परिवर्तन को हल करने के लिए अपने avdfolder / config.ini hw.trackBall = हां और DEL या F6 को पुश करें


2

आपके एंड्रॉइड वर्चुअल डिवाइस के लिए कीबोर्ड इनपुट सक्षम होने के बावजूद इम्यूलेटर को पुनरारंभ करना कभी-कभी टाइपिंग अनुपलब्ध होने में मदद करता है।


0

अपने उपयोगकर्ता होम फ़ोल्डर में छिपे हुए .android फ़ोल्डर की तलाश करें। आप इस फ़ोल्डर का नाम बदल सकते हैं या हटा सकते हैं, अपने AVD को फिर से बना सकते हैं और एमुलेटर को पुनरारंभ कर सकते हैं। यह उस फ़ोल्डर में एक .ini फ़ाइल हो सकती है जिसमें उस सेटिंग को मंगाया गया हो।


हाँ, मैं .android और avd फ़ाइलों को भी हटा दिया .. हालांकि मदद नहीं की। इनपुट के लिए धन्यवाद
epsilonpsi

0

हार्डवेयर कीबोर्ड के साथ एक AVD को फिर से बनाना + बूलियन को सही पर सेट करना एकमात्र समाधान था जो मेरे लिए काम करता था; अन्य दो मुख्य समाधान (टर्मिनल या GUI के माध्यम से एक मौजूदा AVD को संपादित करना) दोनों मेरे मैक पर सॉफ्टवेयर / एम्यूलेटर क्रैश हुए। एक नया AVD बनाने से कीबोर्ड ठीक काम कर रहा था।


0

यहाँ कुछ समाधान है कि वास्तव में मेरे लिए काम किया है, यह सबसे लोकप्रिय जवाब में के रूप में एक ही समाधान है - बस जोड़ने hw.keyboard = config.ini करने के लिए हाँ, लेकिन जब से यह मेरे लिए काम नहीं किया मैं इसके अतिरिक्त

  1. consssssfig.ini जैसा कुछ नाम दिया गया है
  2. पुनः आरंभ करने वाला एमुलेटर (जाहिर है यह शुरू नहीं हुआ था)
  3. फिर से नाम दिया गया config.ini
  4. (मुझे यकीन नहीं है कि क्या प्रासंगिक है) मैंने config.in फ़ाइल की शुरुआत में यह नया पैरामीटर (hw.keyboard = yes) जोड़ा है
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.