Share via


Android Debug Bridge (adb)

ADB は、開発者にとって Android エミュレーターや接続されているデバイスと対話できる、重要なツールです。 ADB ドキュメントには多くの機能が網羅されていますが、ここでは便利なコマンドをいくつか紹介します。

  • adb kill-serveradb start-server - 必要に応じて ADB サービスを停止および開始する
  • adb devices - 使用可能なデバイスの一覧を表示する (エミュレーターのほか、コンピューターに接続されている携帯電話やタブレットを含む)
  • adb install - APK ファイルをインストールする
  • adb shell - Android システムでコマンドを実行する。例:
    • adb shell pm list packages - インストールされているすべてのパッケージの一覧を表示する
    • adb shell pm path com.example.someapp - 指定されたパッケージのファイル システム パスを取得する
  • adb pull - エミュレーターまたはデバイスからファイルを抽出する

アプリのスパニングをシミュレートする

ADB のもう 1 つの用途は、Surface Duo でのアプリのスパニングの自動化など、入力コマンドをシミュレートすることです。 これらのスクリーンショットでは、ウィンドウの下部にあるハンドルをつかんで、それをスパン インジケーターが両方の画面に表示されるまでヒンジに向かってドラッグする、スパニングのプロセスを示しています。

ADB コマンドを使用してアプリを自動的にスパニングする 3 つの手順

次のコマンドを使用して、ADB でこのジェスチャをシミュレートできます。

adb shell input touchscreen swipe 675 1780 1350 1500 3000

最初の 4 つの値はドラッグ ジェスチャの開始座標と終了座標で、最後の値は経過時間 (ミリ秒) です。 ドラッグが速すぎると、アプリはスパンされずに他の画面に "飛ばされる" ため、時間は重要です。 3 秒で問題なく機能します。

また、UI テストの一環として、アプリのスパニングとその他のジェスチャをシミュレートすることもできます。

ADB コマンドを使用してデバッグする

ADB コマンドを使用してデバッグするには、次の手順に従います。

  1. エミュレーター デバイス ID を検索します。

    C:\>adb devices を実行します。

    emulator-5554   device
    
  2. デバッグするパッケージを探します。

    adb shell pm list packages を実行します。

    package:com.android.managedprovisioning
    package:com.android.smspush
    package:com.android.wallpaper.livepicker
    package:com.android.storagemanager
    package:com.android.bookmarkprovider
    package:com.android.settings
    package:com.android.calculator2
    package:com.android.vpndialogs
    package:com.android.email
    package:com.android.music
    
  3. スタートアップ時にアプリをデバッグするように設定します (-w に注意してください)。

    adb shell am set-debug-app -w com.microsoft.device.display.samples.masterdetail を実行します。

  4. エミュレーターでアプリを起動します。

    アプリがデバッグのアタッチを待機していることを示すポップアップが表示されます。 set debug を毎回再実行する必要があります (または--persistent オプションを使用します)。

  5. Android Studio のデバッガーを接続します。

    Android Studio のメニュー オプションで、[アタッチ デバッガーの実行>] を選択します。 エミュレーターとプロセスが一覧表示されます。

  6. ソース コードをポイントし、ブレークポイントを設定します。