ドキュメント

アダプティブ アプリ開発のためのエミュレータ制御

所要時間: 2 分
Rob Orgiu のプロフィールを表示
Rob Orgiu デベロッパー リレーション エンジニア

アダプティブ アプリの開発は Android の基本ですが、すべてが適切に表示され、すべての機能が想定どおりに動作することを確認するには、複数のデバイスで複数のテストを行う必要があります。しかし、本当にそうでしょうか?

はい、いいえ。Android Studio には、レイアウトを手動でテストできるサイズ変更可能なエミュレータがバンドルされていますが、ターミナルからフォーム ファクタを直接制御する、より高速で効率的な方法があります。adb emu ショートカットを使用して fire-and-forget コンソール コマンドを活用すると、呼び出し元のシェルにすぐに制御を返すコマンドを実行できます。

複数のエミュレータを同時に実行している場合は、ショートカットのシリアルを渡すことで、特定の仮想デバイスをターゲットにできます。

adb -s <serial> emu <command> <parameter>

まず、折りたたみと展開

折りたたみ式デバイス固有のユーザー ジャーニーとレイアウト構成をテストするには、エミュレートされたデバイスをプログラムで折りたたんだり開いたりできます。

adb emu fold

折りたたみ式エミュレータが開いている場合は、折りたたんで小さい画面構成を表示し、(仮想)外部ディスプレイをオンにできます。エミュレータを開いて内部ディスプレイの電源を入れるには、次のコマンドを実行します。

adb emu unfold

アプリが状態を保持し、さまざまなディスプレイ サイズでレイアウトが正しく表示されることをすぐに確認できるようになりました。

回転、回転、回転

画面の向きの変更を正しく処理することは、アダプティブ アプリ開発の基本です。デバイスの回転をプログラムでトリガーして、状態の復元など、アプリが構成の変更をどの程度処理できるかをテストできます。次のコマンドは、デバイスを 90 度時計回りに回転させます。

adb emu rotate

センサーを使用した姿勢のシミュレーション

エミュレータをテーブルトップ モードなどの特定の物理的な姿勢に配置するにはどうすればよいですか?最も簡単な方法は、. を使用して利用可能な位置の数をクエリすることです。

まず、使用可能なすべてのセンサーとその現在のステータスを一覧表示します。

adb emu posture

これにより、次のような位置のリストが返されます。

Usage: "posture <posture_id>" 1: closed	2: half-opened	3: opened	…

テーブルトップの姿勢は、半開きの ID を使用して呼び出すことができます。

adb emu posture 2
注: すべての姿勢がすべての仮想デバイスでサポートされているわけではありません。Google Pixel Fold やサイズ変更可能な AVD などの標準 AVD テンプレートは、ポーズ 1、2、3 のみをサポートします。これらのテンプレートで 4 または 5 を設定しようとすると、「KO: Failed to set posture」エラーが返されます。

サイズ変更可能なエミュレータはどうですか?

サイズ変更可能なエミュレータは、サイズを簡単に変更できるという優れた機能を備えています。adb emu コマンドを使用すると、1 つのコマンドで自由に移動できます。変更を行う前に、利用可能なサイズ変更プリセットをクエリするには、1 回の呼び出しのみが必要です。

adb emu resize-display

利用可能なプレゼントのリストが返されます。

KO usage: "resize-display <index>" 0: phone	1: unfolded	2: tablet

これで、目的の ID で resize-display パラメータを呼び出すと、エミュレータのサイズが目的のサイズに変更されます。

adb emu resize-display 1

今すぐテストを効率化

以上で、fire-and-forget コマンドをコマンドライン ワークフローに統合すると、複数のエミュレータを同時に実行する場合と比較して、時間とリソースを大幅に節約できます。

試験運用を開始しましょう。これらのコンソール ショートカットをまだ使用したことがない場合は、ターミナルを開いてエミュレータを起動し、ドキュメントにアクセスして、今日から使い始めましょう。

作成者:
続きを読む