長い試行錯誤の後、適切に設定する必要がある少なくとも 3 つの異なる「落とし穴」があることを発見して、「AVD で有効にされていないハードウェア ボタン」の問題を追放しました。ADT バージョン 22.3.0 (2013 年 11 月 3 日現在) で Eclipse Java EE Juno を使用しています。
要約すると、最初に理解するのは少し厄介ですが、その後は簡単です。仮想デバイス定義には、1) ハードウェア ボタン、2) デバイス定義も AVD セレクタ ドロップダウン フィールドで選択する必要があり、3) ハードウェア コントロールを含むスキンを表示するには、ボックスにチェックを入れる必要があります。3 つすべてが重要です。ステップバイステップ:
- ウィンドウ → Android Virtual Device Manager (以下のスクリーン キャプチャを参照) (注: メニューに表示されない場合は、[ウィンドウ] → [パースペクティブのカスタマイズ] を選択し、[ Android SDK および AVD マネージャー] にチェックマークを付けます。上記エラーメッセージ)
- Android Virtual Deviceである最初のタブをクリックし、Editをクリックして、上から 2 番目のコンボ ボックス フィールドにリストされているデバイスの名前をメモします。これは、組み込みのデフォルトの Android 仮想デバイス定義、またはゼロから作成した (または作成する予定の) カスタムのものになります。このデバイス名をメモし、 [ OK ]をクリックして [ Android 仮想デバイスの編集] 編集ウィンドウを閉じます。
- Android Virtual Device Managerの2 番目のタブであるDevice Definitionsをクリックし、リストから上記の手順 2 で覚えているデバイスを選択します (エミュレータ開発者への注意 - この設定手順は必要以上に厄介です - おそらくタブ 1 と 2 はタブを閉じてから別のタブを開く代わりに、デバイスをダブルクリックして直接編集できるように、より密接に結び付けられています)。仮想デバイス定義を選択したら、[編集] (または [クローン] ) を選択します。編集するデバイスが組み込み定義の場合は、編集後に複製コピーとして保存する必要があるためです。[クローン デバイス] ウィンドウの左上のフィールドで、クローン デバイスに覚えやすい名前を付けます (たとえば、デフォルト名の末尾に「_hardwareButtons」を追加します)。
- 重要: 複製されたデバイスを編集します: [デバイスの編集] (または[デバイスの複製] ) ウィンドウの右側の 4 番目のフィールドで [ボタン] → [ハードウェア] が選択されていることを確認します (上記の [デバイス定義] タブのステップ 3 から)。これは非常に重要です。そうしないと、ハードウェア ボタンがアクティブになりません。これが、上記のエラー メッセージの根本的な原因である可能性が最も高いです。仮想 DPad を使用する場合を除き、InputをNo Navのままにしても問題ありません。ウィンドウの右下にある[デバイスの編集] (または[デバイスのクローン] ) をクリックして、変更を保存します。
重要: Android Virtual Device Manager 内で、Android virtual deviceである最初のタブをもう一度クリックします。[編集] を選択し、AVD の [デバイス] フィールド ドロップダウン コンボ ボックス (上から 2 番目) で、新しく編集、作成、または複製されたデバイスが名前で選択されていることを確認します。(上の 2 つのスクリーン キャプチャを参照してください)。ここで適切なデバイスを選択することが非常に重要です。新しく複製されたデバイスを作成しても、自動的に更新されたり、AVD に関連付けられたりしないためです (上記のエミュレータ開発者への私のコメントを参照してください)。
重要: また、同じ Android Virtual Device 編集ボックス内で、Skin → Display a skin with hardware controlsがチェックされていることを確認してください。これも非常に重要です。そうしないと、ハードウェア ボタンがまったく表示されません。[ OK ] をクリックして編集ウィンドウを閉じます。
念のため (不要かもしれませんが )、AVD マネージャーの最初のタブ (Android Virtual Device) で [更新] をクリックし、編集したばかりの AVD の前に緑色のチェックマークが表示されていることを確認しました。そうでない場合は、新しく編集したデバイスがまだ AVD に接続されていない可能性があります。[編集]をクリックし、新しく編集した適切なデバイス名を再度選択します。「OK」をクリックして閉じます。
さらに、真に偏執狂の場合はオプションですが、 AVD の最初のタブで [詳細] をクリックし、ウィンドウを展開してデバイス定義の詳細を確認できます。skin.dynamic がyes、 hw.keyboard: がno (キーボードが必要でない場合)、 hw.mainKeys: がyes、 hw.dPad: がno (dPad が必要でない場合) であることを確認し、いつものように、適切なデバイス名が選択されました。
これで、 RUN → RUN CONFIGURATION Eclipse メニューで使用できる完全に実行可能な AVD が定義されたはずであり、恐ろしい「ハードウェア ボタンが AVD で有効になっていません」というエラー メッセージは表示されません。
Eclipse でRUN → RUN CONFIGURATIONを選択し、左側からアプリ名を選択し ( Androidタブにも表示されることを確認します)、新しく定義された AVD がTargetタブでチェックされていることを確認し、RUN をクリックします。(またはCTRL+F11新しい構成の最初の実行後)。
例として、タブレット エミュレーターからのスクリーン キャプチャを次に示します。