Zaktualizowałem narzędzia SDK do wersji 20 (od 18) i od czasu aktualizacji emulator nie akceptuje danych wejściowych z klawiatury laptopa. Ale tylko przy użyciu własnej „miękkiej” klawiatury emulatora (która pojawia się, gdy pole wejściowe jest skupione).
Próbowałem ponownie zainstalować narzędzia SDK (i cały zestaw SDK pod tym względem), odinstalowałem i ponownie zainstalowałem wtyczki Eclipse Android, odtworzyłem urządzenia emulujące. Ale nic z tego nie pomaga i doprowadza mnie do szaleństwa. Beznadziejne jest wpisywanie za pomocą gładzika laptopa.
Czy ktoś napotkał ten problem?
android
android-emulator
epsilonpsi
źródło
źródło
Extended Controls
->Send keyboard shortcuts to
->s/Emulator controls (default)/Virtual device/
Odpowiedzi:
Aktualizacja
Począwszy od wersji SDK 21, Menedżer urządzeń wirtualnych Android ma ulepszony interfejs użytkownika, który rozwiązuje ten problem. Poniżej podkreśliłem niektóre z ważniejszych ustawień konfiguracji:
Jeśli zauważysz, że (na podstawie ekranu) miękka główne klucze
Back
,Home
itp brakuje emulatora można ustawićhw.mainKeys=no
, aby umożliwić im.Oryginalna odpowiedź
Chociaż dokumentacja programisty mówi, że obsługa klawiatury jest domyślnie włączona, nie wygląda na to, że tak jest w SDK wersja 20. Jawnie włączyłem obsługę klawiatury w pliku config.ini mojego emulatora i działało!
Dodaj:
hw.keyboard=yes
Do:
~/.android/avd/<emulator-device-name>.avd/config.ini
Podobnie dodaj,
hw.dPad=yes
jeśli chcesz poruszać się po liście aplikacji za pomocą klawiszy strzałek.Odniesienie: http://developer.android.com/tools/devices/managing-avds-cmdline.html#hardwareopts
W systemach Mac OS i Linux możesz edytować wszystkie konfiguracje emulatora za pomocą jednego polecenia Terminal:
for f in ~/.android/avd/*.avd/config.ini; do echo 'hw.keyboard=yes' >> "$f"; done
W powiązanej uwadze, jeśli w emulatorze tabletu brakuje przycisków BACK / HOME, spróbuj wybrać WXGA800 jako wbudowaną skórkę w edytorze AVD:
Lub ręcznie ustawiając skórkę w config.ini:
(przykład dotyczy API 16)
źródło
Potwierdzony. Miałem ten sam problem po aktualizacji do Narzędzi w wersji 20. Musiałem edytować AVD, aby dodać opcję w następujący sposób:
Spowoduje to dodanie właściwości hw.keyboard = yes do pliku config.ini dla AVD.
Musisz także ustawić hw.mainKeys = yes
źródło
W Android Studio otwórz AVD Manager (Narzędzia> Android> AVD Manager). Naciśnij przycisk Edytuj emulatora:
Wybierz „Pokaż ustawienia zaawansowane”
Zaznacz „Włącz wprowadzanie z klawiatury”
Kliknij przycisk Zakończ i uruchom emulator, aby korzystać z klawiatury.
źródło
Zajrzyj do AVD Manager, wybierz AVD i kliknij Edytuj. W sekcji Sprzęt: kliknij „Nowy” i wyszukaj „Obsługa klawiatury” i dodaj za pomocą przycisku OK, ustaw wartość na „tak” i zapisz zmiany za pomocą „Edytuj AVD”
źródło
Google chciał sprawić programistom trochę więcej bólu głowy.
Musisz teraz edytować AVD i dodać „Obsługa klawiatury” w sekcji Sprzęt i zmienić wartość na „Tak”
źródło
W swoim katalogu domowym /.android/avd//config.ini dodaj wiersz hw.keyboard = yes
źródło
Na wypadek, gdyby ktoś uzna to za przydatne.
Miałem problem z KEYCODE_DPAD_UP, który należy do trackBall. aby rozwiązać ten problem, zmień swój avdfolder / config.ini hw.trackBall = yes i wciśnij DEL lub F6
źródło
Ponowne uruchomienie emulatora pomaga czasami, gdy pisanie jest niedostępne - pomimo włączonej klawiatury dla urządzenia wirtualnego z Androidem.
źródło
Poszukaj ukrytego folderu .android w folderze domowym użytkownika. Możesz zmienić nazwę tego folderu lub usunąć go, ponownie utworzyć AVD i ponownie uruchomić emulator. Możliwe, że w tym folderze znajduje się plik .ini z ustawionym ustawieniem.
źródło
Odtworzenie AVD z klawiaturą sprzętową + ustawieniem wartości logicznej na 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 przez GUI) spowodowały awarie oprogramowania / emulatora na moim komputerze Mac. Utworzenie nowego AVD spowodowało, że klawiatura działała dobrze.
źródło
Oto kilka obejść, które faktycznie działały dla mnie, jest to to samo rozwiązanie, co w najpopularniejszej odpowiedzi - wystarczy dodać hw.keyboard = tak do config.ini, ale ponieważ to nie działało dla mnie, dodatkowo
źródło