Android Debug Bridge (adb)
ADB は、開発者にとって Android エミュレーターや接続されているデバイスと対話できる、重要なツールです。 ADB ドキュメントには多くの機能が網羅されていますが、ここでは便利なコマンドをいくつか紹介します。
- adb kill-server と adb 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 でこのジェスチャをシミュレートできます。
adb shell input touchscreen swipe 675 1780 1350 1500 3000
最初の 4 つの値はドラッグ ジェスチャの開始座標と終了座標で、最後の値は経過時間 (ミリ秒) です。 ドラッグが速すぎると、アプリはスパンされずに他の画面に "飛ばされる" ため、時間は重要です。 3 秒で問題なく機能します。
また、UI テストの一環として、アプリのスパニングとその他のジェスチャをシミュレートすることもできます。
ADB コマンドを使用してデバッグする
ADB コマンドを使用してデバッグするには、次の手順に従います。
エミュレーター デバイス ID を検索します。
C:\>adb devices
を実行します。emulator-5554 device
デバッグするパッケージを探します。
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
スタートアップ時にアプリをデバッグするように設定します (-w に注意してください)。
adb shell am set-debug-app -w com.microsoft.device.display.samples.masterdetail
を実行します。エミュレーターでアプリを起動します。
アプリがデバッグのアタッチを待機していることを示すポップアップが表示されます。 set debug を毎回再実行する必要があります (または--persistent オプションを使用します)。
Android Studio のデバッガーを接続します。
Android Studio のメニュー オプションで、[アタッチ デバッガーの実行>] を選択します。 エミュレーターとプロセスが一覧表示されます。
ソース コードをポイントし、ブレークポイントを設定します。