web-dev-qa-db-fra.com

L'émulateur Android ne prend pas l'entrée au clavier - Outils de développement SDK rev 20

J'ai mis à niveau les outils du SDK vers la révision 20 (à partir de la version 18) et depuis la mise à niveau, l'émulateur ne semble pas accepter les entrées du clavier de l'ordinateur portable. Mais utilisez uniquement le propre clavier 'logiciel' de l'émulateur (qui apparaît lorsqu'un champ de saisie est activé).

J'ai essayé de réinstaller les outils du SDK (et le SDK dans son ensemble), de désinstaller et de réinstaller les plug-ins Eclipse Android et de créer des émulateurs. Mais rien de tout cela ne semble aider et cela me rend fou. Il est impossible de saisir au clavier à l'aide du trackpad d'un ordinateur portable.

Est-ce que quelqu'un à rencontré ce problème?

312
epsilonpsi

Mettre à jour

À partir de la version 21 du SDK, Android Virtual Device Manager dispose d'une interface utilisateur améliorée qui résout ce problème. J'ai mis en évidence certains des paramètres de configuration les plus importants ci-dessous:

enter image description here

Si vous remarquez que les touches principales (basées sur l'écran) Back, Home, etc., sont absentes de votre émulateur, vous pouvez définir hw.mainKeys=no pour les activer.

enter image description here

Réponse originale

Même si la documentation du développeur indique que la prise en charge du clavier est activée par défaut, cela ne semble pas être le cas dans SDK version 20. J'ai explicitement activé la prise en charge du clavier dans le fichier config.ini de mon émulateur, et cela a fonctionné!

Ajouter: hw.keyboard=yes

À: ~/.Android/avd/<emulator-device-name>.avd/config.ini

De même, ajoutez hw.dPad=yes si vous souhaitez utiliser les touches fléchées pour parcourir la liste des applications.

Référence: http://developer.Android.com/tools/devices/managing-avds-cmdline.html#hardwareopts

Sous Mac OS et Linux, vous pouvez modifier toutes les configurations de votre émulateur avec une seule commande Terminal:

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


Sur une note connexe, s'il manque les boutons BACK/HOME à votre émulateur de tablette, essayez de sélectionner WXGA800 comme enveloppe intégrée dans l'éditeur AVD: enter image description here

Ou en définissant manuellement le skin dans config.ini:

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

(exemple pour l'API 16)

461
James Wald

Confirmé. J'ai eu le même problème après la mise à niveau vers la version 20 de Tools.

  1. Depuis Eclipse, accédez à AVD Mananger. 
  2. Sélectionnez le fichier AVD particulier et cliquez sur Modifier.
  3. Allez dans la section Matériel, cliquez sur Nouveau.
  4. Sélectionnez le nom de la propriété: Prise en charge du clavier 
  5. Par défaut, il est ajouté avec la valeur "non". Cliquez simplement sur la colonne de valeur et remplacez-la par «oui».
  6. Cliquez à nouveau sur Edit AVD.

Cela ajoutera une propriété hw.keyboard = yes dans le fichier config.ini de l’AVD.

111
Romin

Dans Android Studio, ouvrez le Gestionnaire AVD (Outils> Android> Gestionnaire AVD) . Appuyez sur le bouton Modifier de l'émulateur: enter image description here

Sélectionnez "Afficher les paramètres avancés" enter image description here

Cochez "Activer la saisie au clavier" enter image description here

Cliquez sur Terminer et démarrez l'émulateur pour profiter de la saisie au clavier.

58
Hong

Regardez dans AVD Manager, sélectionnez AVD et cliquez sur Modifier. Dans la section Matériel: cliquez sur "Nouveau" et recherchez "Prise en charge du clavier" et ajoutez-le avec le bouton OK. Définissez la valeur sur "oui" et enregistrez les modifications avec "Edit AVD"

15
Joel Pelaez

Google voulait donner plus de maux de tête aux développeurs. 

Donc, ce que vous devez faire maintenant est éditer votre AVD et ajouter "Support clavier" pour cela dans la section Matériel et changer la valeur en "Oui"

10
Vincy

Dans votre dossier personnel.

4
Amit Yaron

Redémarrer l'émulateur aide parfois lorsque la saisie est indisponible - même si la saisie au clavier est activée pour votre périphérique virtuel Android.

2
Zon

Juste au cas où quelqu'un le trouverait utile.

J'ai eu un problème avec le KEYCODE_DPAD_UP, il appartient au trackBall. pour résoudre ce changement, votre dossier_vdf/config.ini hw.trackBall = yes et appuyez sur DEL ou F6

1
PbxMan

Recherchez le dossier .Android caché dans votre dossier personnel. Vous pouvez renommer ou supprimer ce dossier, recréer votre AVD et redémarrer l'émulateur. Il se peut qu’il y ait un fichier .ini dans ce dossier avec ce paramètre fourni.

0
Eric Cloninger

Recréer un DAV avec le clavier matériel + régler le booléen sur true était la seule solution qui fonctionnait pour moi; les deux autres solutions principales (terminal ou édition d'un DAV existant via une interface graphique) ont toutes deux entraîné des pannes de logiciel/émulateur sur mon Mac. Faire un nouveau AVD a eu comme conséquence le bon fonctionnement du clavier.

0
Davek804

Voici une solution de contournement qui a fonctionné pour moi, c’est la même solution que dans la réponse la plus populaire - juste ajouter hw.keyboard = yes à config.ini mais depuis ce n'a pas fonctionné pour moi en plus 

  1. renommé config.ini (n'importe quel nom fera l'affaire) en quelque chose comme consssssfig.ini
  2. émulateur redémarré (évidemment, il n'a pas commencé)
  3. renommé config.ini à nouveau
  4. (Je ne sais pas si cela est pertinent) J'ai ajouté ce nouveau paramètre (hw.keyboard = yes) au début du fichier config.ini
0
Witold