リモート Android デバイス上での Android アプリケーションの実行とデバッグ

提供: RAD Studio
移動先: 案内検索

Android モバイル アプリケーション開発 への移動


このページでは、ネットワークに接続された Android デバイス上で Android アプリケーションをデバッグする方法を説明します。この方法は、ネットワーク越しの ADBTCP/IP デバッグとも呼ばれます。 先に「Android モバイル アプリケーション開発」を読んで、Android デバイスを開発用にセットアップし使用するのに必要な手順を理解しておいてください。

この方法には、次のような利点があります。

  • Android デバイスに無線接続するため、USB ケーブルが必要ありません(root 化していないデバイスでは USB ケーブルを使用してデバッグ モードを変更する必要があります)。
  • 開発者間でデバッグ用に Android デバイスを共有する方法が簡素化されます。
メモ: このページで使用する ADB コマンドはどれも、マシンに接続されている Android デバイスが 1 台だけの場合に正しく動作するものです。複数の Android デバイスが接続されている場合には、Android ヘルプ(コマンド送信先の指定)(英語版)で ADB コマンドの正しい実行方法を確認してください。
メモ: Android アプリケーションは、たとえユーザーに表示されていなくても、常にバックグラウンドで実行され続けています。アプリケーションは実行し続けているため、デバッガ自身は単純にアプリケーションから切断されるだけでもハングする場合があります。

Android デバイスでの TCP/IP デバッグの有効化

要件

  • 開発用マシンが接続されているのと同じ無線ネットワーク(の一部)に Android デバイスが接続されていなければなりません。

Android デバイスが root 化されていない場合には、以下も必要です。

  • Android SDK がインストールされているマシン
  • USB ケーブル
  • マシン上で ADB デバイスと認識される Android デバイス

Android デバイスが root 化されている場合には、以下が必要です。

  • 次のいずれか。
    • TCP/IP デバッグ モードを有効にするメニュー設定 (ROM で提供されています。通常は開発用設定メニューに含まれています。ネットワーク越しの ADB と呼ばれることもあります)
    • デバイス上にインストールされたターミナル エミュレータ アプリケーション(Terminal Emulator for Android など)
    • TCP/IP デバッグ モードを有効にするアプリケーション(ADB over network など)
メモ: 開発用マシンは、Android デバイスと同じネットワークであれば、無線で接続していても Ethernet ケーブルで接続していてもかまいません。

手順

Android デバイスが root 化されていない場合:

  1. Android デバイスを USB ケーブルでマシンに接続します。
  2. ターミナル(cmd.exe など)を開きます。
  3. お使いの Android SDK の platform-tools フォルダに移動します。
    cd "C:\Users\Public\Documents\Embarcadero\Studio\23.0\CatalogRepository\<Android SDK folder>\platform-tools"
  4. 以下のコマンドを実行します:
    adb tcpip 5555
    メモ: 5555 を、デバイスが入ってくる接続をリスンするポート番号と置き換えます。
  5. 好みにより、このコマンドを実行した後でマシンと Android デバイスの接続を解除してもかまいません。

Android デバイスが root 化 されている場合、TCP/IP デバッグ モードを有効にするために、次のいずれかを行います:

  • デバイスの「開発者設定」メニューで、TCP/IP デバッグ モードを有効にします(「ネットワーク越しの ADB」などの名前になっている場合もあります)。
  • 次のコードを、ターミナル エミュレータで実行します:
    su
    setprop service.adb.tcp.port 5555
    stop adbd
    start adbd
  • TCP/IP デバッグが有効なアプリケーションを使用します。

Android デバイスへの接続

開発用マシンから Android デバイスに接続するには、Android SDK インストール ディレクトリの "platform-tools" ディレクトリで、コマンド adb connect <IP アドレス>:<ポート番号> を実行します(adb connect 192.168.1.110:5555 など)。<IP アドレス> はデバイスの IP アドレスです。デバイスの IP アドレスを調べる方法はいくつかあります。

  • デバイスのメニューで確認します(通常は [Settings|Wi-Fi|Advanced Wi-Fi]ですが、デバイスの OS バージョンやメーカーによって異なる可能性があります)。
  • Android SDK インストール ディレクトリの "platform-tools" ディレクトリで、コマンド adb shell netcfg を実行します。これを行うには、デバイスが USB ケーブルで接続されている必要があります。
  • ネットワーク ルーターの設定ページでデバイスの IP アドレスを調べます。

接続が成功したら、コマンド ウィンドウが表示されます: "connected to <IPAddress>:<portNumber>"。 コマンド adb devices を使用して、接続された ADB デバイス のリストを表示させることができます。これで、接続された Android デバイスが プロジェクト ウィンドウに表示されます。

リモート Android デバイスの接続解除

Android デバイスとの接続を解除したい場合には、デバイスのデバッグ モードをリセットする方法が簡単です。あるいは、開発用マシンで adb disconnect <IP アドレス>:<ポート番号> というコードを実行して接続解除することもできます。

Android デバイスのデバッグ モードのリセット

Android デバイスのデバッグ モードは、デバイスを再起動するたびにリセットされます。デバイスを再起動せずにデバッグ モードをリセットしたい場合には、以下のいずれかを行ってください。

  • Android デバイスが USB ケーブルで接続されているリモート マシンで、コマンド adb usb を実行します。
  • デバイス上のターミナル エミュレータで以下のコードを実行します。
  • style="list-style: none; display: inline"
    
    su
    setprop service.adb.tcp.port -1
    stop adbd
    start adbd
    


関連項目