私はSDKツールをリビジョン20(18から)にアップグレードしました、そしてアップグレード以来、エミュレータはラップトップのキーボードからの入力を受け付けないようです。ただし、エミュレータ独自の「ソフト」キーボード(入力フィールドにフォーカスがあるときに表示されます)を使用するだけです。
私はSDKツール(そしてそれに関するSDK全体)を再インストールし、Eclipse Androidプラグインをアンインストールして再インストールし、エミュレータデバイスを再作成してみました。しかし、そのどれも助けにならないようで、それが私を怒らせます。ラップトップのトラックパッドを使ってキー入力するのは絶望的だ。
誰かがこの問題に遭遇しましたか?
更新
SDK rev 21以降、Android仮想デバイスマネージャのUIが改善され、この問題が解決しました。私は以下でより重要な設定のいくつかを強調しました:
ソフト(スクリーンベース)のメインキーBack
、Home
などがエミュレータにないことに気付いた場合、それらを有効にするためにhw.mainKeys=no
を設定することができます。
元の答え
開発者向けのドキュメントにはデフォルトでキーボードサポートが有効になっていると書かれていますが、SDK rev 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では、1つのターミナルコマンドですべてのエミュレータ設定を編集できます。
for f in ~/.Android/avd/*.avd/config.ini; do echo 'hw.keyboard=yes' >> "$f"; done
関連するメモとして、タブレットエミュレータに[戻る]/[ホーム]ボタンがない場合は、AVDエディタの組み込みスキンとしてWXGA800を選択してみてください。
またはconfig.iniでスキンを手動で設定することによっても可能です。
skin.name=WXGA800
skin.path=platforms/Android-16/skins/WXGA800
(例はAPI 16用です)
確認しました。 Toolsバージョン20にアップグレードした後も同じ問題がありました。次のようにAVDを編集してオプションを追加する必要がありました。
これにより、AVDのconfig.iniファイルにhw.keyboard = yesというプロパティが追加されます。
Hw.mainKeys = yesも設定する必要があります
Android Studioで、AVD Managerを開きます([Tools]> [Android]> [AVD Manager])。エミュレータの編集ボタンをタップします。
[詳細設定を表示]を選択します
「キーボード入力を有効にする」にチェックを入れます
[完了]をクリックしてエミュレータを起動し、キーボード入力を楽しんでください。
AVDマネージャを見てAVDを選択し、編集をクリックしてください。 [ハードウェア]セクションで、[新規]をクリックして[キーボードサポート]を検索し、[OK]ボタンで追加して値を[はい]に設定し、[編集AVD]で変更を保存します。
グーグルは開発者にもう少し頭痛を与えたいと思った。
それで、あなたが今しなければならないことはあなたのAVDを編集してそれのための「キーボードサポート」をハードウェアセクションに追加しそして値を「はい」に変えることです
あなたのホームフォルダ/.Android/avd//config.iniにhw.keyboard = yesという行を追加してください。
キーボード入力がAndroid仮想デバイスで有効になっているにもかかわらず、エミュレータを再起動すると入力ができない場合に便利です。
念のために誰かがそれが便利だと思った。
TrackBallに属しているKEYCODE_DPAD_UPに問題がありました。この変更を解決するには、avdfolder /config.ini hw.trackBall = yesを押して、DELキーまたはF6キーを押します。
あなたのユーザのホームフォルダで隠された.Androidフォルダを探してください。このフォルダの名前を変更するか削除し、AVDを再作成してからエミュレータを再起動してください。そのフォルダに.iniファイルがあり、その設定が変更されている可能性があります。
Hardware Keyboard +でAVDを再作成し、ブール値をtrueに設定することが私にとっては有効な唯一の解決策でした。他の2つの主な解決策(端末による、またはGUIを介した既存のAVDの編集)は、どちらも私のMac上でソフトウェア/エミュレータのクラッシュを引き起こしました。新しいAVDを作成してもキーボードは正常に動作しました。
これは実際に私のために働いたいくつかの回避策です、それは最も人気のある答えと同じ解決策です - ちょうどconfig.iniにhw.keyboard = yesを追加してください、しかしこれはうまくいかなかったので私のために私はさらに