2012-06-27 12 views
295

Zaktualizowałem narzędzia SDK do wersji 20 (od 18), a od czasu aktualizacji emulator nie akceptuje danych wejściowych z klawiatury laptopa. Ale tylko za pomocą własnej "miękkiej" klawiatury emulatora (pojawia się, gdy pole wejściowe jest skupione).Emulator Androida nie wymaga wprowadzania danych z klawiatury - narzędzia SDK rev 20

Próbowałem ponownie zainstalować narzędzia SDK (i cały pakiet SDK), odinstalować i ponownie zainstalować wtyczki Eclipse dla Androida, ponownie utworzyć emulatory. Ale nic z tego nie pomaga i doprowadza mnie do szaleństwa. Beznadziejna do wprowadzenia za pomocą gładzika laptopa.

Czy ktoś napotkał ten problem?

+0

Efektem ubocznym tego wydaje się być to, że przycisk wyszukiwania w emulatorze również nie działa. Na szczęście ta sama poprawka dla klawiatury naprawia również przycisk wyszukiwania. – bmaupin

Odpowiedz

429

Aktualizacji

As z SDK rev 21 Android Virtual Device Manager ma ulepszony interfejs użytkownika, który rozwiązuje ten problem. Mam podkreślił niektóre z ważniejszych ustawień konfiguracyjnych poniżej:

enter image description here

Jeśli zauważysz, że miękkie (screen-based) główne klucze Back, Home itp brakuje emulatora można ustawić hw.mainKeys=no do umożliwić im.

enter image description here

odpowiedź Original

Chociaż dokumentacja deweloper mówi wsparcie klawiatura jest domyślnie włączona to nie wydaje się być to, że sposób, w SDK rev 20. wyraźnie włączona obsługę klawiatury w moim plik config.ini emulatora i to zadziałało!

Dodaj: hw.keyboard=yes

Do: ~/.android/avd/<emulator-device-name>.avd/config.ini

Podobnie dodać hw.dPad=yes jeśli chcesz użyć klawiszy strzałek, aby poruszać się po liście aplikacji.

referencyjny: http://developer.android.com/tools/devices/managing-avds-cmdline.html#hardwareopts

Na Mac OS i Linux można edytować wszystkie swoje konfiguracji emulatora za pomocą jednego polecenia Terminal:

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


Na powiązana uwaga, jeśli emulator tabletka brakuje przycisków BACK/HOME, spróbuj wybrać WXGA800 jako wbudowaną skórkę w edytorze AVD: enter image description here

Lub ręcznie ustawiając skórkę w config.ini:

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

(przykład jest automatycznie 16)

+1

Podobnie jak w przypadku innych wspomnianych odpowiedzi, można również użyć narzędzia AVD Manager, ale doświadczyłem błędów uniemożliwiających zapisanie zmian w konfiguracji. –

+0

Czy istnieje jakieś ustawienie globalne, które wpłynie na cały mój istniejący AVD? Nie chcę zmieniać około 20 istniejących avd. –

+0

@HoangTran Nie ma konfiguracji globalnej, jednak jeśli używasz Mac OS, możesz użyć polecenia Terminal, które dodałem do odpowiedzi, aby edytować wszystkie istniejące AVD od razu. –

0

Poszukaj ukrytego folderu .android w folderze domowym użytkownika. Możesz zmienić nazwę lub usunąć ten folder, ponownie utworzyć AVD i ponownie uruchomić emulator. Może to być plik .ini w tym folderze, który ma to ustawienie wymazane.

+0

Tak, również usunąłem pliki .android i avd .. nie pomogło.dziękuję za wejście – epsilonpsi

15

Sprawdź w Menedżerze AVD, wybierz AVD i kliknij przycisk Edytuj. W dziale sprzętowym: kliknij w „nowy” i wyszukać „Obsługa klawiatury” i dodać za pomocą przycisku OK i ustawić wartość na „tak” i zapisać zmiany z „Edycja AVD”

+0

dziwne jest to, że gdy ustawię tę wartość na tak, to zmusza wartość z powrotem do nie, w każdym razie będzie testować ponownie z nowym urządzeniem – epsilonpsi

+0

Preferowałem tę odpowiedź. Korzystanie z menedżera AVD jest bardziej niezapomnianym rozwiązaniem niż zmiana pliku config.ini. – Seth

112

potwierdzone. Miałem ten sam problem po aktualizacji do wersji Tools 20. Musiałem edytować AVD, aby dodać opcję w następujący sposób:

  1. Od Eclipse, przejdź do AVD Mananger.
  2. Wybierz konkretny AVD i kliknij Edycja
  3. Przejdź do sekcji Sprzęt, kliknij Nowa.
  4. Wybierz nazwę właściwości: Obsługa klawiatury
  5. Domyślnie jest dodawana z wartością "nie". Wystarczy kliknąć kolumnę wartości i zmienić ją na "tak".
  6. Kliknij ponownie Edytuj AVD.

To doda właściwość hw.keyboard = yes w pliku config.ini dla AVD.

+19

Upewnij się, że kolumna wartości traci fokus przed kliknięciem Edytuj AVD lub zmiana na "Tak" nie zostanie zapisana! – Nuthatch

+1

Witam, postępowałem zgodnie z powyższymi instrukcjami, ale nadal nie mogę wstawić żadnego tekstu za pomocą klawiatury komputera. Po dwukrotnym kliknięciu na AVD wymienione pod Menedżerem AVD, stwierdzam, że edycja się powiodła, ponieważ wskazuje na hw.keyboard: yes. Czy brakuje mi czegoś? – JibW

+3

Proponuję następujące: Usuń AVD i stwórz całkowicie nowy AVD z obsługą klawiatury. – Romin

9

Google chciał dać trochę więcej bólu głowy dla programistów.

Więc, co musisz zrobić, to zmienić swój AVD i dodać „klawiatura Wsparcie” dla niego w sekcji Sprzęt i zmienić wartość na „Tak”

+0

Nie działa dla mnie, avd wsparcie klawiatury wartość "tak" nie pozostaje zapisane, to powraca z powrotem do "nie". – Justin

+0

Właściwie Google chciało ulepszyć rzeczy. Większość urządzeń nie ma obecnie klawiatury sprzętowej, więc domyślne ustawienie powinno być wyłączone/wyłączone. Tak, łatwiej pracować z emulatorem z jednym, ale to nie odzwierciedla rzeczywistych warunków na świecie. Prawidłowy sposób polega na tym, aby deweloperzy włączyli tę funkcję. –

0

Odtworzenie się AVD z Sprzętowa klawiatura + ustawienie boolean to true było jedynym rozwiązaniem, które działało dla mnie; pozostałe dwa główne rozwiązania (terminal lub edycja istniejącego AVD za pośrednictwem GUI) spowodowały awarie oprogramowania/emulatora na moim Macu. Stworzenie nowego AVD spowodowało, że klawiatura działa dobrze.

2

W katalogu domowym /.android/avd//config.ini dodać linię hw.keyboard = yes

1

wszelki wypadek ktoś uzna za przydatne.

Miałem problem z KEYCODE_DPAD_UP należy do trackBall. Aby rozwiązać ten problem, należy zaktualizować plik avdfolder/config.ini hw.trackBall = yes i nacisnąć DEL lub F6

52

W Android Studio otwórz Menedżera AVD (Narzędzia> Android> AVD Manager). Stuknij przycisk Edit emulatora: "Pokaż ustawienia zaawansowane" enter image description here

Wybierz enter image description here

wyboru "Enable wciśnięcie klawisza" enter image description here

kliknij Zakończ i uruchomić emulator, aby cieszyć się wprowadzanie danych z klawiatury .

+0

Pracowałem dla mnie po wprowadzeniu ustawień klawiatury z klawiatury, ale zastanawiałem się, jak to się stało, że przestała działać sama na pierwszym miejscu. – Justcurious

+3

To jest tak frustrujące, że to pole wyboru odznacza się po każdej aktualizacji emulatora :( –

1

Ponowne uruchomienie emulatora pomaga czasami podczas wpisywania jest niedostępny inspite AVD wejścia klawiatury włączona.

Powiązane problemy