Android Emulator を使用すると、仮想デバイスで Wear OS アプリケーションをテストできます。その機能の多くは、Android エミュレータのメイン ドキュメントで説明されています。このページでは、Wear OS 開発に固有の機能、テスト機能、トラブルシューティングのヒントに焦点を当てています。
基本的な設定手順については、Wear OS でアプリを作成して実行するをご覧ください。
Wear OS のテスト機能
エミュレータには、Wear OS の機能をテストするための専用ツールが用意されています。
Bluetooth オーディオをテストする
エミュレータで Bluetooth オーディオをテストするをご覧ください。
センサーをシミュレートする
エミュレータでは、データの種類に応じて、ツールバーからセンサーデータをシミュレートするさまざまな方法が用意されています。
- Health Services データ:
- エミュレータのツールバーから専用の [ヘルスサービス] パネルに直接アクセスします(ハート アイコン
を探します)。このパネルでは、エクササイズ指標など、ヘルスサービスに固有のデータをシミュレートするための詳細な制御が可能です。詳しい手順については、ヘルスサービスでセンサーデータをシミュレートするをご覧ください。
- エミュレータのツールバーから専用の [ヘルスサービス] パネルに直接アクセスします(ハート アイコン
- その他のセンサー(位置、ポーズ、心拍数など):
- 他のセンサータイプについては、エミュレータ ツールバーのオーバーフロー ボタン(...)をクリックして、[Extended Controls] ウィンドウを開きます。
- 位置情報: [Extended Controls] > [Location] に移動して、単一の GPS ポイントを指定するか、ルートをシミュレートします。これは、Fused Location Provider API を使用してアプリをテストし、おおよその位置情報の処理を検証する際に便利です。
- Device Pose(加速度計とジャイロスコープ): [Extended Controls] > [Virtual Sensors] > [Device Pose] に移動します。[Rotation](回転)(X-Rot、Y-Rot、Z-Rot)と [Movement](移動)(X、Y、Z)のスライダーを調整して、モーションベースのインタラクションをテストします。
- 心拍数と追加センサー: [拡張コントロール > 仮想センサー > 追加センサー] に移動します。心拍数や、気温、磁場、近接、光、気圧、相対湿度などのセンサーをシミュレートします。
スマートウォッチの入力をシミュレートする
- タッチとジェスチャー: 標準的なマウス操作はタッチ操作を模倣します。
物理ボタン(回転サイドボタンとベゼルを含む):
エミュレータ パネルの上部にあるボタンを使用して、ハードウェア ボタン(ボタン 1
、ボタン 2
)や、手のひらで覆うなどの他の物理的な操作をシミュレートできます。デバイスを傾けて 「手のひらアイコン」
スワイプして戻る
[Rotary input] で、エミュレータ ツールバーのオーバーフロー メニュー(...)を開き、[Rotary input] を選択します。
デバイスをペア設定
エミュレータは、物理スマートフォンまたは仮想スマートフォンとのペア設定をサポートしています。Android Studio の Device Manager で Wear OS エミュレータ ペアリング アシスタントを使用して、セットアップをガイドします。詳しくは、スマートウォッチをスマートフォンに接続するをご覧ください。
重要な注意事項
テストの際は、次の技術面とパフォーマンス面の重要な考慮事項に注意してください。
64 ビット アーキテクチャのみ(最近のイメージ)
Wear OS 4(API 33)以降のエミュレータ システム イメージは、64 ビット アーキテクチャ(x86-64、arm64-v8a)のみをサポートしています。
パフォーマンスの違い
エミュレータのパフォーマンス(特にバッテリー消費量とレンダリング速度)は、実機と大きく異なる場合があります。最終的なパフォーマンスの検証とバッテリーの最適化は、常に実際のハードウェアでテストしてください。
既知の問題
このセクションでは、Wear OS エミュレータに固有の一般的な問題について説明します。エミュレータに関する一般的な問題については、Android Emulator に関する既知の問題のトラブルシューティングのメインページをご覧ください。
- 手首の傾きセンサーの警告:
the host has not provided value yet for sensorHandle=16のようなログメッセージが繰り返し表示されることがあります。これらは無視して構いません。 - タイル レンダラ:
DashedArcLineオブジェクトとcircularProgressIndicator()によって構築された要素が、API 36 エミュレータで正しくレンダリングされない場合があります。