English Japanese
English Japanese

Android

ADB経由でのAndroidの自動化

1. はじめに

T-Plan Robot Enterpriseは、ADB(Android Debug Bridge)経由でのAndroidデバイスの自動化に対応しています。ADBはAndroid SDKの一部として提供されるツールで、USB接続されたAndroidデバイスへの接続を提供します。

T-Plan Robot Enterpriseは、Screen Stream Mirroring (SSM)アプリケーションによる画面転送にも対応しており、ゲームなど高速な画面応答が必要なアプリケーションの自動化により適したオプションを提供します。しかし、バージョン5.0.6ではAndroid Mirrorという新しい画面転送方式が導入されました。これはSSMを置き換えることを目的としています。セットアップが簡単で、起動や操作も速く、デバイスへのソフトウェアのインストールも不要です。

VNC経由の自動化(具体的にはVMLite VNCおよびDroidVNC)との比較:

要因

Screen Mirror併用のADB経由自動化

ADB単独での自動化

VNC経由の自動化

root化

+ 不要

- DroidVNC: デバイスをroot化する必要があります
+ VMLite VNC: デバイスをroot化する必要はありません

ネットワーク

+ 不要(ネットワークは任意)

+ ネットワーク不要(USBのみ)

- DroidVNC: ネットワーク接続(Wi-Fi)が必要です
+ VMLite VNC: ネットワークまたはUSB接続が必要です

ソフトウェア要件

+ デバイスへのソフトウェアインストール不要(Android
Mirror)
- デバイスにアプリケーションが必要(Screen
Stream Mirroring)

+ デバイスへのソフトウェアインストール不要

- デバイスにVNCサーバーが必要

並列接続

- 非対応(一度に自動化できるデバイスは1台のみ)

+ 対応

+ 対応

キーボードサポート

+ Androidのネイティブキーに良好に対応

- Androidネイティブキーのサポートは
サーバーベンダーに依存します

画面パフォーマンス

+ 良好な画面更新レート(パフォーマンスを参照)

- 大画面デバイスでは画面更新レートが低下
(Android SDKに画像圧縮機能がないため)

+ 大画面デバイスでも良好な画面更新レート
(選択する画像エンコーディングに依存)

ゲームサポート

+ 対応

- サポートは限定的(OpenGLコンテンツ非対応)

画面回転

+ 自動・手動の両方の画面回転に対応

- 手動の画面回転のみ対応

ピンチ&ズーム

+ 対応(Robot 3.5以降/Android 4.3以降)

- 非対応

ADB接続の性質上、この方法は複数の種類のデバイスにまたがる、Androidアプリケーションの非侵襲的な自動テストに適しています。

2. セットアップ

Android SDKはWindows、Linux、Mac OS Xに対応していますが、自動化にはMS Windowsホストの使用をお勧めします。Linux(具体的には当社がテストに使用しているUbuntu Linux)での自動化にはRobotをrootアカウントから実行する必要があり、特にテストスクリプト実行中の高負荷時にデバイスへの接続が不安定になります。ほとんどの場合Robotは接続を自動的に修復できますが、遅延や信頼性の低下につながります。

2.1 PCのセットアップ

Robot 8

Windows/Mac/Linux用のRobotをインストールした場合は、これで準備完了です。すぐにデバイスのセットアップの章に進んでください。

Robot 5.0.3 - 7.x

Robot 5.0.3には、Android SDKから必要なJARライブラリがすべて同梱されています。Android Studioパッケージ全体をダウンロードしてJARファイルをクラスパスに配置する必要はもうありません。代わりにAndroid SDK Platform Toolsパッケージをダウンロードしてください。手順:

  • お使いのプラットフォーム用のAndroid SDK Platform Toolsをダウンロードし、ローカルハードドライブに展開します。

  • Robotを起動し、Android Over ADB接続にそのパスを指定します。

Robot 5.0.2 and older

以下の手動手順を避けるため、Robot 5.0.3以降へのアップグレードをお勧めします。

コンピューターにリビジョン18以降のAndroid SDKをダウンロードしてインストールします:

  • 古いバージョンのSDKをお持ちの場合は、SDKホームフォルダにあるSDK Managerツールを使用して最新版にアップグレードしてください。

重要: Android 9デバイスの自動化を有効にするには、ddmlibライブラリバージョン26をダウンロードし、Robotディレクトリに保存する(Robot 4.4.7)か、手動でクラスパスに配置する(以下の手順)必要があります。2019年5月時点の最新SDKバージョンにはddmlib v25が含まれていますが、これはAndroid 9と互換性がありません。

MS Windowsのみ: フル版のAndroid Studioをインストールした場合は、adb.exeを含むフォルダをユーザーまたはシステムのパスに追加します:

  1. Windowsエクスプローラーを開きます(Windows+E)

  2. Computerを右クリックし、Propertiesを選択します

  3. 「Advanced System Settings」を選択し、「Environment Variables」ボタンをクリックします

  4. PATHユーザー変数を選択し、Editをクリックして、adb.exeを含むフォルダのパスをリストの先頭に挿入します。元の値とパスを区切るにはセミコロン「;」を使用します。新しい値は次のようになります: <SDK_path>\platform-tools;<originalPaths>

  5. OKで保存します。

重要: Java 9では新しいセキュリティ制限が導入され、Javaライブラリ(JAR)の動的な読み込みが無効化されたため、クラスパスを更新する必要があります:

  1. 以下のいずれかの方法でJavaのバージョンを確認してください。バージョン6、7、8はそれぞれ1.6、1.7、1.8として識別される点に注意してください。

    • コマンドプロンプト(ターミナル)を開き、次を実行します: java -version

    • Robotを起動し、Help->Aboutを選択します

  2. Javaのバージョンが9以降の場合は、Robot起動コマンドを編集し、以下のライブラリの完全パスを-classpathリストに追加します:

MS Windows: <SDK_path>\tools\lib\sdklib.jar;<SDK_path>\tools\lib\guavalib.jar;<SDK_path>\tools\lib\ddmlib.jar;<SDK_path>\tools\lib\chimpchat.jar
Unix/Linux: <SDK_path>\tools\lib\sdklib.jar:<SDK_path>\tools\lib\guavalib.jar:<SDK_path>\tools\lib\ddmlib.jar:<SDK_path>\tools\lib\chimpchat.jar

例えば、SDKが C:\Android Studio\SDK にインストールされている場合、Robotの完全な起動コマンドは次のようになります:

java -Xmx512m -classpath robot.jar;jh.jar;activation.jar;mail.jar;poi-3.6-20091214.jar;cron4j-2.2.5.jar;gson-2.5.jar;jna-3.5.1.jar;platform-3.5.1.jar;JNativeHook.jar;"C:\Android Studio\SDK\tools\lib\sdklib.jar";"C:\AndroidStudio\SDK\tools\lib\guavalib.jar";"C:\Android Studio\SDK\tools\lib\ddmlib.jar";"C:\Android Studio\SDK\tools\lib\chimpchat.jar" com.tplan.robot.ApplicationSupport <CLI parameters>

Mac OS Xアプリケーションとしてパッケージ化されたRobotを使用し、Macのメニューから起動している場合は、上記のライブラリへのシンボリックリンクを作成するのが最適です。ターミナルを起動し、以下のコマンドを実行してください(<SDK_path>は実際のパスに置き換えてください):

cd /Applications/TPlanRobot.app/Contents/Java
ln <SDK_path>/tools/lib/sdklib.jar sdklib.jar
ln <SDK_path>/tools/lib/guavalib.jar guavalib.jar
ln <SDK_path>/tools/lib/ddmlib.jar ddmlib.jar
ln <SDK_path>/tools/lib/chimpchat.jar chimpchat.jar

2.2 Androidデバイスのセットアップ

  1. Androidデバイスで「USB Debugging」オプションを有効にします:

    1. Android 4.1以下:

      • Menu->Settings->Applications->Developmentに移動し、「USB Debugging」オプションをオンにします。

    2. Android 4.2以降:

      • Menu→Settingsに移動します

      • MoreまたはGeneralグループ内のAboutメニューを選択します。一部のデバイスではSettings->About->Software->Information->Moreの下にあります。

      • Build Numberまでスクロールし、「You are now a developer」または「Developer mode has been enabled」というメッセージが表示されるまで7回タップします。

  2. Settingsメニューに戻り、Developer Optionsを選択し、上部のスライダーをオンにしてオプションを有効にします:

    • USB Debuggingをオンにします。

    • OEM Unlockingが存在する場合はオンにします。

    • USB ConfigurationオプションをPTP (Picture Transfer Protocol)に設定します。このオプションがMTP (Media Transfer Protocol)に設定されていると、デバイスが接続されない可能性が高くなります。

    • デバイスがPCに接続されている間に画面がロックされないよう、Stay Awakeオプションをオンにすることをお勧めします。

2.3 Robotへの接続

  1. AndroidデバイスをUSBケーブルでコンピューターに接続します。Robot側から接続を開始した後にデバイスを接続することはお勧めしません。断続的な接続クラッシュにつながります。

  2. T-Plan Robot Enterpriseを起動します。Linux/Unixシステムの場合は、rootアカウントから起動する必要があります(sudoでは不十分な場合があります)。

  3. ログインウィンドウで「Connection Type」を「Android over ADB」に設定し、Android Platform ToolsまたはSDKへのパスを指定します。このパスはユーザー設定に保存され、以降は自動的に入力されます。

  4. 2台以上のAndroidデバイスがコンピューターに接続されている場合は、「Device Serial No.」フィールドにデバイスのシリアル番号を設定します。シリアル番号は「...」ボタンをクリックするか、Android SDKのplatform-tools/フォルダから「adb devices」を実行することで確認できます。または、フィールドを「default」のままにすると、最初に検出されたデバイスに接続します。

  5. T-Plan Robot Enterpriseバージョン4.2以降: 「Screen transfer method」を選択します:

    • 「ADB (default)」オプションは最も遅いですが、デバイスに追加のアプリケーションを必要としません。画面データはUSBケーブル経由で転送されるため、デバイスをネットワークに接続する必要はありません。

    • 「Android Mirror」オプションは5.0.6以降でサポートされています。USBケーブル経由でデバイス画面のJPEGエンコードストリーミングを提供します。シンプルで高速、使いやすいオプションです。

    • 「Screen Stream Mirroring」オプションは、ストリーミングアプリケーションを使用してH.264ビデオストリームで画面をミラーリングします。インストールと設定の手順は次の段落を参照してください。SSMを使用する理由がない限り、代わりに「Android Mirror」オプションの使用をお勧めします。

  6. Connectをクリックしてデバイスに接続します。接続に失敗した場合はトラブルシューティングの章を参照してください。

2.4 Screen Stream Mirror

ミラーリングは、MS Windows Vista以降で動作するRobot v4.2以降でサポートされる任意の画面転送方式です。Androidデバイスに、Mobzapp社のScreen Stream Mirroring (SSM)アプリケーションをインストールする必要があります。画面データはネットワーク経由、またはUSBケーブルのみで転送できます。

重要: 代わりに「Android Mirror」オプションの使用をお勧めします。SSMとは異なり、デバイス側での設定やソフトウェアの変更は不要です。

画面ミラーリングを有効にする手順:

  1. AndroidデバイスにScreen Stream Mirroringアプリケーションをインストールします。評価目的であれば無料版で構いません(広告が表示され、数分後に終了します)。

  2. アプリを起動して動作を確認します。ネットワークに接続している場合、「rtsp://<IP_address>:5000/screen」のようなアドレスが表示されるはずです。表示されたURLが「http://localhost:5000/screen」のようなものやRTSP以外の場合は、以下の手順を実行してください:

    1. 左上のボタンをタップします

    2. Media Playersを選択します

    3. 元の画面に戻り、URLが適切に変更されていることを確認します

      worddavab1497b03aeb3d08edd7fd59d2f86feb.png


  3. デバイスがRobotから見えるネットワークに接続されており、TCP/IP経由での画面データ転送を希望する場合は、それ以上の手順は不要です。接続前にアプリを手動で起動する必要はありません。

  4. ネットワークを使わずにUSB経由の画面データ転送を設定したい場合:

    1. アプリを起動し、左上のボタンをタップしてアプリメニューを開きます。Preferencesを選択します。

    2. 一番下までスクロールし、「Advanced settings」をオンにします。

    3. 「Stream through USB」オプションをオンにし、左上のボタンをタップして変更を保存します。メイン画面には「rtsp://localhost:5000/screen」というアドレスが表示されるはずです。

      worddavfc4d974c85af7f9fa3829e4759291b27.png


2.5 パフォーマンスに関する考慮事項

ミラーストリームのパフォーマンスは、以下の要因によって左右されます:

  • 一部のマシンにはUSB 2.0と3.0の両方のポートが搭載されています。デバイスは3.0ポートに接続してください。

  • 画面ミラーをビデオ転送に使用する場合、データはローカルネットワーク経由で送信されます。ネットワーク速度がパフォーマンスに影響します。

  • ミラーストリームのデコードはCPUに依存します。グラフィックカード(GPU)の役割は非常に小さいです。パフォーマンスを向上させるにはCPUをアップグレードしてください。

  • RAMは十分な量がある限り要因にはなりません。当社のパフォーマンス統計によると、フルHDのAndroidデバイスをミラーリングする場合、Robotはアイドル状態でわずか50~60 MBのRAMしか必要としません。画面イメージのコピーを処理する画像比較を伴うテストスクリプトの実行中は、ピーク時にメモリ使用量が2~3倍になることがあります。マシンが過負荷になっていたり空きRAMが少なかったりしない限り、問題にはならないはずです。確認するには、以下を観察してください:

    • Robot GUIの右下隅にあるメモリ使用量インジケーターを確認します。緑色で時々黄色になる程度であれば、プログラムには十分なRAMがあります。使用率が高い場合は、こちらの説明に従って上限を引き上げてください。

    • Windowsのタスクマネージャーを起動し、CPUとRAMの使用状況を確認します。使用率が高すぎる場合は、マシン上で実行中の他のプログラムやサービスの数を減らしてください。

ビデオが遅い、または大幅に遅延している場合:

  • Stream Screen Mirroringと、デバイス上で実行中の不要なアプリケーションを停止し、再接続してください。

  • RobotメニューでEdit->Preferencesに移動します。Android Over ADB画面を選択し、「Process only every <N> video frame」というパラメータの値を上げます。これにより、Robotマシンに必要な負荷とRAMが減少します。アニメーションや動きの速いシーンはぼやけますが、静止画面は元の画質を維持します。安定して表示されるコンポーネントを画面上で検索する画像比較には影響しません。

  • 最後の手段として、Screen Mirroring Applicationのビデオ品質パラメータを変更します。ビデオ品質を大幅に下げると、画像比較が機能しなくなる可能性がある点に注意してください。「Mirroring available at:」ラベル(上の画像を参照)の右側にある歯車アイコンをタップし、「Video Preferences」」を選択します:

    • Resolutionは640pに設定されています。解像度を変更すると画面サイズが変わり、これまでに作成したすべてのコンポーネント画像が無効になります。すでに自動化を実施している場合は、このパラメータの変更を避けてください。

    • Encoding bitrateは通常2048 kb/sです。リソースを節約するために下げることもできますが、1024 kb/s未満には設定しないでください。

    • Max framerateは通常30 fpsに設定されています。実際の環境でこの上限に達することはほとんどありません。2~5 fpsまで下げない限り、効果は見られないでしょう。デフォルト値のままにしておくことをお勧めします。

    • 設定を適用するには、左上の「戻る」矢印を使って画面を離れます。ミラーリングがオンになっている場合、変更を適用するために再起動します。その後、再接続する必要があります。

3. トラブルシューティング

Android接続の問題を解決するには、Edit->Preferencesウィンドウの「Android over ADB」パネルにある設定を活用してください:

  • 問題が発生した場合は、Debug modeをオンにしてログを生成してください。これらはコンソール(コマンドプロンプト)や、Help->Log Viewerウィンドウ経由でログファイルとして確認できます。

  • デバイスの画面イメージが歪んでいたり、色が正しく表示されない場合は、デコード方式を変更してください:

    • デフォルトの「Android SDK」デコーダーは、画像データをJava形式にデコードするためにAndroidの機能に依存しています。この方法は、例えば緑がかった画面が表示されるSamsung Galaxy GT-I5500など、一部のデバイスで失敗することが知られています。

    • 「Robot」デコーダーは、独自にデータをデコードします。この方法はやや遅くなりますが、失敗するデバイスの多くで動作するようです。

  • 解決できない画面の問題が発生した場合は、「Create the screen image dump」オプションをオンにし、接続を試みてダンプを作成した後、Help->Log Viewerウィンドウ経由でログファイルをT-Plan supportに送信してください。その後、このオプションをオフに戻してください。このダンプにより、当社は生のピクセルデータから画像を再構築し、デコーダーが失敗する原因を調査できます。

明確な理由もなくRobotが対象デバイスへの接続に失敗し、ログやログインウィンドウにも妥当な説明がない場合:

  • デバイスをUSBケーブルから外し、再度接続します。

  • ADBサーバーを手動で再起動します:

    • コンソール/コマンドプロンプトを開き、Android SDKインストールパス配下のplatform-toolsフォルダに移動します。

    • 実行します:

      adb kill-server
      adb devices

    • デバイスが出力に一覧表示されていることを確認します。表示されていない場合、環境が正しく設定されていません:

      • セットアップの章に記載されているとおり、USB Debuggingやその他のオプションが有効になっていることを確認してください

      • 一部のデバイスでは、Android Studioとの通信を有効にするために特定のUSBドライバー(例:Samsung Galaxyドライバー)が必要な場合があります。詳細はデバイスベンダーが提供するドキュメントを検索してください。ドライバーのインストール後は、必須でなくてもPCを再起動し、デバイスを再接続してください。

      • すべて失敗する場合は、別のUSBケーブルで再試行してください。

キーボードおよびタッチスクリーンサポートの制限事項は、自動化の章に記載されています。未解決の問題が発生した場合は、T-Plan supportに連絡し、ログファイルを添付してください。

4. 自動化

4.1 デバイスへの接続

テストスクリプトからAndroidデバイスに接続するには、Connectコマンド(TPRスクリプト)またはconnect()メソッド(Javaテストスクリプト)を使用します。引数のURLは「adb://default」または「adb://<device_serial_No>」のいずれかの形式である必要があります。Android SDKのパスは、スクリプトを実行する前に、ログインウィンドウでパスを指定して一度デバイスに接続するか、Preferencesウィンドウの「Android over ADB」パネルで設定しておく必要があります。

例えば、以下のコマンド/メソッド呼び出しは、ADB画面転送を使用して最初に検出されたデバイスに接続します:

TPRテストスクリプト: Connect adb://default
Javaテストスクリプト: connect("adb://default");


シリアル番号MB104PY10519のデバイスに接続するには:

TPRテストスクリプト: Connect adb://MB104PY10519
Javaテストスクリプト: connect("adb://MB104PY10519");

Screen Stream Mirroring画面転送をオンにするには、以下を使用します:

TPRテストスクリプト: Connect adb://MB104PY10519 screen=mirror
Javaテストスクリプト: connect("adb://MB104PY10519", "screen", "mirror");

Android Mirror画面転送をオンにするには、以下を使用します:

TPRテストスクリプト: Connect adb://MB104PY10519 screen=minicap
Javaテストスクリプト: connect("adb://MB104PY10519", "screen", "minicap");

もう一つの方法は、パラメータを接続URLのクエリにエンコードすることです。この形式は-c/-connectのCLI接続にも適しています。Tools->CLI WizardウィンドウからURLをコピーすることもできます。さらに別の方法として、Desktop->Connection Managerウィンドウで接続に名前を付けて、URLの代わりにその名前を使用することもできます。

TPRテストスクリプト: Connect adb://MB104PY10519?screen=mirror
Connect adb://MB104PY10519?screen=minicap

Javaテストスクリプト: connect("adb://MB104PY10519?screen=mirror");
connect("adb://MB104PY10519?screen=minicap");

4.2 画面回転の扱い

ADB接続は2つの画面回転モードをサポートしています。モードを変更するには、Preferencesウィンドウの「Android over ADB」パネルに移動します。

1. 自動画面回転(デフォルト)

自動モードでは、画面を更新するたびにデバイスから画面の向きを読み取り、それに応じて回転させます。これは画面パフォーマンスに大きな影響を与えるため、高いパフォーマンスが求められる場合は、手動モードに切り替えるか、一定の画面の向きを前提としたテストスイートを設計することをお勧めします。

2. 手動画面回転

このモードでは、F4キーを押すことで(またはスクリプトから)、Robotのビュー内で画面を手動で回転させる必要があります。この動作はDroid VNCサーバーと互換性があります。

タッチスクリーンイベントが正しく配置され、画像比較が想定どおりに機能するようにするため、Robotのビューは常に実際のデバイスの状態と一致させてください:

worddave8644f711e0588e3c2d1d1ed7ddb9e4d.png
worddav50b3eae0bd602fd79e91417e94e631d2.png

正しいビュー

誤ったビュー
画像比較によるコンポーネントの検索
が機能せず、タッチスクリーンイベント
の位置がずれます。

4.3 タッチスクリーンの自動化

タッチスクリーンの操作は以下のようにマッピングされています: タッチスクリーンの操作は以下のようにマッピングされています:

デバイスの操作

コンピューターの操作

テストスクリプトの操作

タップ(touch)

左クリック

Mouse clickコマンド(TPRスクリプト)、またはmouseClick()のいずれかのメソッド(Javaスクリプト)を呼び出します。

長押し(touch)

左長押しクリック

Mouse press、Wait、Mouse releaseの各コマンド、または対応するJavaメソッドを順に呼び出します。

スワイプ(drag)

マウスドラッグ(左ボタン押下)

Mouse dragコマンド(TPRスクリプト)、またはmouseDrag()のいずれかのメソッド(Javaスクリプト)を呼び出します。

ピンチ(2本指でのズーム)

ピンチ/ズーム操作

Mouse pinch/zoomコマンド(TPRスクリプト)、またはmousePinch()かmouseZoom()のいずれかのメソッド(Javaスクリプト)を呼び出します。Robot 3.5以降でサポートされています。Android OS 4.3以降を実行しているデバイスが必要です。

Back

右クリック

Mouse click btn=rightコマンド(TPRスクリプト)、またはmouseRightClick()のいずれかのメソッド(Javaスクリプト)を呼び出します。あるいは「Press Back」またはpress("Back")を使用します。

Robot v3.5.2以降では、UIAutomatorインターフェース経由でのマウスクリックを実行するオプションがサポートされています。これにより、特定のアプリコントロールで発生する散発的なタッチスクリーンの失敗が通常解決します。Android 4.1.2以降が必要です。

  • UIAutomator駆動のマウスクリックをグローバルにオンにするには、Edit->Preferences->Android Over ADB画面の「Enable click/tap over the UIAutomator API」ユーザー設定を選択します。これはユーザー設定ファイルに保存されるため、ローカルPC上で実行中のすべてのRobotインスタンスに影響します。このオプションは、-o/-option CLIオプションを使用して、単一のRobotインスタンスに対して調整することもできます。

  • Robot 4.0.1以降を使用してスクリプトからUIAutomatorのクリックを一時的に制御するには、_UIACLICK変数をtrue(「enable」)またはfalse(「disable」)に設定します。この仕組みは上記のユーザー設定を上書きします。同じJavaプロセス内で並行実行される他のテストスクリプトには影響しません。例えば、特定の1回のクリックだけで有効にするには、以下を使用します:

    Var _UIACLICK=true
    Mouse "click"
    Var _UIACLICK=false

4.4 キーボードの自動化

スクリプトにテキストを入力させるには、TypeまたはTypelineコマンド、あるいはtype()/typeLine()のJavaメソッドを呼び出します。キーボードのキーを押すには、Pressコマンドまたはpress()メソッドを呼び出します。キーボードイベントは以下のようにサポートされています:

  • Robotバージョン6.3以前では、印字可能なASCII 7ビット文字(コード32~127)と、0~31の範囲の一部のキー(Enter、Backspaceなど)のみ入力できます。ただし、Android SDK APIに対応するものがない、より大なり記号(>)、より小なり記号(<)、二重引用符(")、およびサーカムフレックス(^)は除きます。

  • Robotバージョン6.3.1以降では、対応していない文字にはクリップボード転送が使用され、事実上あらゆるテキストを入力できます。

  • サポートされている修飾キーはShiftとAltのみです。Ctrl修飾キーは、Android SDK APIに対応するものがないためサポートされていません。

  • ASCII 7ビットセット外の一部の文字は、Alt+<文字>の組み合わせで生成できます。例えば、「Press Alt+Z」は、一部のデバイスでユーロ記号を生成します。これらの合成キーはデバイス、その言語、キーボード設定によって異なるため、デバイスごとに確認する必要があります。

  • PCキーボードのアクションキーは、以下のようにAndroidのネイティブキーにマッピングされています。これらのキーのサポートは特定のAndroidデバイスに依存し、一部のキーは効果がない場合があります:

Androidデバイスキー

コンピューター/スクリプトキー(操作)

説明

BACK

Escape、右クリック

Backキー。

CALL

PageDown

Callキー。

CAMERA

F6

Cameraキー。カメラアプリケーションの起動や撮影に使用します。

CLEAR

F7

Clearキー。

DEL

Backspace

Backspaceキー。カーソル位置より前の文字を削除します。

DPAD_DOWN

Down(下矢印)、マウスホイール下

方向パッド下キー。トラックボールの動きから合成されることもあります。

DPAD_LEFT

Left(左矢印)

方向パッド左キー。トラックボールの動きから合成されることもあります。

DPAD_RIGHT

Right(右矢印)

方向パッド右キー。トラックボールの動きから合成されることもあります。

DPAD_UP

Up(上矢印)、マウスホイール上

方向パッド上キー。トラックボールの動きから合成されることもあります。

ENDCALL

End

End Callキー。

FOCUS

F5

Camera Focusキー。カメラのフォーカス調整に使用します。

HOME

Home

Homeキー。このキーはフレームワークによって処理され、アプリケーションに渡されることはありません。

MENU

PageUp

Menuキー。

NOTIFICATION

F9

Notificationキー。通知の一覧を表示するために使用します。

POWER

F10

Powerキー。

RECENTS

Insert、マウス中央ボタン

デバイスの最近使用したアプリケーション/タスクの一覧にアクセスします。

SEARCH

F3

Searchキー。

SOFT_LEFT

F1

Soft Leftキー。通常は電話機のディスプレイの下に配置され、ディスプレイの左下に表示されるソフトウェア定義の機能を選択するための多機能キーとして使用されます。

SOFT_RIGHT

F2

Soft Rightキー。通常は電話機のディスプレイの下に配置され、ディスプレイの右下に表示されるソフトウェア定義の機能を選択するための多機能キーとして使用されます。

SYM

F8

Symbol修飾キー。代替記号を入力するために使用します。ほとんどのデバイスでは「Select input method」ウィンドウがポップアップ表示されます。

VOLUME_DOWN

F11

Volume Downキー。スピーカーの音量を下げます。

VOLUME_UP

F12

Volume Upキー。スピーカーの音量を上げます。