56
62

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

ADBでよく使うコマンド一覧

Last updated at Posted at 2020-11-13

はじめに

ADBでよく使うコマンドを紹介します。

「ADB」とは?

「Android Debug Bridge」の略で、Android端末とやりとりするための多用途なコマンドです。
アプリのインストールやアンインストール、クラッシュログの出力など、さまざまな操作が行えます。

環境

  • Android Studio:4.0
  • adb:1.0.41

ADBのパスを通す

ADBを使うには、Android Studioをインストールし、パスを通す必要があります。

以下の記事をご参考に行ってください。
Android SDK Platform-Toolsのパスを通す方法 - Qiita

ADBでよく使うコマンド

グローバルオプション

オプション 説明
-s {シリアル} 対象シリアルの端末を使う

-s オプションを使うと、対象にしたい端末を確実に指定できます。
後述する adb devices で対象端末のシリアルを調べて指定するのがオススメです。

adb version

コマンド 説明
adb version ADBのバージョンを出力する

adb help

コマンド 説明
adb help ヘルプを出力する

adb devices

コマンド 説明
adb devices 接続されている端末の一覧を出力する
adb devices -l 接続されている端末の一覧を長い形式で出力する

adb install

コマンド 説明
adb install {パッケージ} 対象パッケージ(APKファイルなど)をインストールする
adb install -r {パッケージ} インストール済の対象パッケージを置き換えてインストールする
adb install -d {パッケージ} 対象パッケージのダウングレードを許可してインストールする(デバッグできるパッケージのみ)

adb uninstall

コマンド 説明
adb uninstall {パッケージ} 対象パッケージをアンインストールする

adb push

コマンド 説明
adb push {ローカルのファイルパス} {端末のファイルパス} ローカルの対象ファイル(またはフォルダ)を端末にコピーする

adb pull

コマンド 説明
adb pull {端末のファイルパス} {ローカルのファイルパス} 端末の対象ファイル(またはフォルダ)をローカルにコピーする

adb logcat

コマンド 説明
adb logcat デバイスログを出力する
adb logcat --help adb logcat のヘルプを出力する
adb logcat -b {バッファ} 別のリングバッファを要求してデバイスログを出力する
adb logcat -b crash クラッシュログを出力する

^C を入力しないと出力が終わらないので注意です。

adb shell

コマンド 説明
adb shell シェルを起動する
adb shell screencap -p {端末の画像パス} 対象パスにスクリーンショットを保存する
adb shell screenrecord {端末の動画パス} 対象パスにスクリーンレコードを保存する( ^C で撮影終了する)

ADBでよく使うテクニック

アプリの外部ストレージのデータをデスクトップにコピーする

以下を実行すると、端末内の files フォルダがデスクトップにコピーされます。

$ adb -s {シリアル} pull /storage/emulated/0/Android/data/{パッケージ}/files ~/Desktop/

上記のパスは getExternalFilesDir() メソッドの戻り値です。
環境によって異なるため、適宜置き換えてください。

アプリの内部ストレージにアクセスする

adb shell でシェルを起動し、 run-as {パッケージ} でアプリの内部ストレージにアクセスできます。

$ adb -s {シリアル} shell
sargo:/ $ run-as {パッケージ}
sargo:/data/user/0/{パッケージ} $

あとは lscd コマンドなどでどのようなファイルが存在するか確認できます。

スクリーンショットを撮ってデスクトップにコピーする

adb shell screencap でスクリーンショットを撮って端末内に保存し、 adb pull でデスクトップにコピーします。

$ adb -s {シリアル} shell screencap -p /sdcard/screenshot.png
$ adb -s {シリアル} pull /sdcard/screenshot.png ~/Desktop/
/sdcard/screenshot.png: 1 file pulled, 0 skipped. 23.0 MB/s (3150517 bytes in 0.130s)

スクリーンレコードを撮ってデスクトップにコピーする

スクリーンショットとほぼ同様です。
adb shell screenrecord でスクリーンレコードを撮って端末内に保存し、 adb pull でデスクトップにコピーします。

$ adb -s {シリアル} shell screenrecord /sdcard/screen.mp4
$ adb -s {シリアル} pull /sdcard/screen.mp4 ~/Desktop/
/sdcard/screen.mp4: 1 file pulled, 0 skipped. 26.7 MB/s (22255200 bytes in 0.795s)

クラッシュログをテキストファイルに出力する

adb logcat は標準出力されるため、テキストファイルに出力して Vim などのテキストエディタで開くと見やすいです。
「Caused by:」 にクラッシュの原因が書かれています。

$ adb -s {シリアル} logcat -b crash > ~/Desktop/logcat_crash.log

おわりに

これでADBのコマンドを忘れたときは、本記事を見れば解決できるかもしれません!

他にもよく使うコマンドがありましたら、コメントなどで教えていただけると嬉しいです :relaxed:

参考リンク

56
62
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
56
62

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?