皆さん、こんにちは。
今回はAndroid端末、Androidエミュレーターで使用できるadbコマンドをご紹介していきたいと思います。
以下内容に沿ってご紹介したいと思います。
■記事内目次
・認識関連
・ログ取得関連
・インストール関連
・キャプチャ/撮影関連
・ファイル関連
・その他adbコマンド操作一覧
事前にAndroid Studioやエミュレーターを設定しておきましょう。
以下の記事にAndroid Studioの導入とエミュレーター設定など掲載していますので、まだの方はご確認頂ければと思います。
コマンドプロンプトも起動しておきましょう。
・Android Studioの導入
・エミュレーター設定
□ 認識系
こちらでは、PCとAndroid端末、エミュレータ―を認識させるコマンドをご紹介していきます。
◇ adb devices
実機のAndroid端末とPCをUSB接続した場合や、エミュレーターを起動時にPCとの認識を確認する際に確認するコマンドです。
◇ adb kill-server
adbホストをリセットさせます。
たまに「adb devices」のコマンドを入力しても、認識できない場合は、adbホストを一度リセットするといいでしょう。
◇ adb start-server
abホストをスタートさせます。
□ログ取得関連
こちらは、AndroidStudioのLoigcatで行うログ取得と同じ内容となります。
個人としては、AndroidStudioがでる前から、コマンドラインベースのログ取得を行っていますので、こちらでログ取得を行っています。
Androidの操作で不具合のエラー等起きた際、エラーの事象をログ取得するシーンがあると思います。
操作が不特定なケースの場合は、エラー発生後、ログを取得することで、さかのぼってログを取得することができます。
または、操作が明確でエラーが起きる場合は、一度余分なログを削除して、取得することをお勧めします。
◇ adb logcat -c
ログは大量に吐き出されるため、事前にエラーの事象が発生する前のログを削除する場合は、こちらのコマンドが有効です。
こちらを実行して、以下ログ取得のコマンドを実行することで、エラーの該当範囲を特定しやすくなると思います。
◇ adb logcat -v time>ログファイルを保存する場所\ファイル名.txt
例:adb log cat -v time>C:\Users\susaki\Documents\Test\log.txt
上記コマンドを 入力した後、Android端末、エミュレーターで操作を行ってみてください。
エラーが起きる操作などを一通り行ったら、コマンドプロンプトを閉じましょう。
そうすると、テキストファイル容量が更新され、ログが確認できると思います。
「-v time」は、時間も出力する内容となっています。
「>ファイルのパス」はテキストファイルにログを出力する内容となっています。
「adb logcat」のみでもログが出力できますが、コマンドライン上で表示されます。
□インストール関連
アプリインストール関連のコマンドとなります。
基本的に、開発中のアプリや、野良アプリ(Google Playにアップされていないもの)、自作で開発したアプリのインストールを行いたいときに有効です。
最近では、開発中のアプリは「DeployGate」に上がっているapkファイルをダウンロードしてインストールすることができます。
コマンドベースでインストールするケースは少ないと思いますが、覚えていると便利ですので、良ければ覚えておきましょう。
apkファイルについては、サンプルを用意しました。
こちらは、自己責任でお願いします。
・Unity Chan Action Shooting
https://apkpure.com/jp/unity-chan-s-action-shooting/jp.tank.ezdaemon.uas/download?from=details
こちらは、Unityというソフトで作られたユニティちゃんシューティングと呼ばれるゲームアプリです。
・Danbo
DanboDropped_0210
こちらは、過去私がUnityで作成した、落としゲームのサンプルです。
数年前に作ったため、AndroidOS6までしかサポートしておりません。
エミュレータでAndroidOS6を構築して、インストールして使用することは可能です。
◇ adb install -r apk ファイル
例:adb install -r “C:\Users\susaki\Documents\Test\Unity chan s Action Shooting_v1.1.4_apkpure.com.apk”
アプリをインストールをすることができます。
「-r」で上書きインストールとなります。
UnityChan、Danboをインストールすると以下のように表示されます。
「Unity Chan」
「Danbo」
Unity Chanのゲームは普通に面白いと思います。
Danboは、4,5年前に作成したもので、とても懐かしく思い、起動できるかどうか不安でしたが、エミュレータであれば問題なく起動も操作も行えました。(`・ω・´)g
◇adb uninstall パッケージネーム
アプリをアンインストールします。
端末設定からのアプリアンインストールと同様です。
こちらは、事前にインストールされているアプリのパッケージネームを把握しておく必要があります。
まずは、パッケージネームの表示確認、その後アンインストールコマンドでアンインストールの実施となります。
①インストールされているアプリパッケージ一覧
Adb shell
shellコマンドを入力します。
Pm list packages
上記コマンドを入力すると、Android端末内にインストールされているアプリのパッケージネーム一覧が表示されます。
コマンドライン上では、探すのはわかりづらいと思いますので、一度テキストファイルに張り付けてみましょう。
Exit
shellコマンドを抜けた状態にします。
その後、Ctrl+Aで全選択し、テキストファイルでCtrl+Vで貼り付けます。
今回は、Danboアプリをアンインストールしようと思います。
以下パッケージネームが一覧にあることを確認します。
「package:com.susaki.sin15」
②インストールされているアプリをアンインストール
Adb uninstall com.susaki.sin15
上記コマンドを実行後、しばらくするとアプリがアンインストールされます。
□キャプチャ/撮影関連
こちらでは、スクリーンキャプチャと動画撮影のコマンドをご紹介します。
◇「screencap -p 保存するファイル階層/ファイル名」、「adb pull ファイル階層」
Android画面のスクリーンショットを行います。
AndroidStudioのlogcatでのキャプチャや、Android端末で音量キー+電源ボタン長押しと同じです。
AndroidStudioを起動したくない場合など使うといいかもしれません。
①画面キャプチャ
Adb shell
一度shellコマンドを入力します。
screencap -p /sdcard/screenshots/test01.png
Android端末画面のキャプチャを実行します。
実行後は、exitでshellコマンド状態を終了します。
②キャプチャをPC側へコピー
adb pull /sdcard/screenshots/test001.png
取得したキャプチャをPC側に送ります。
PC側のファイル階層を指定していなければ、ユーザー直下の階層に配置されます。
◇screenrecord 動画保存
adbコマンドで動画撮影も行えます。
①動画撮影
Adb shell
一度shellコマンドを入力します。
screenrecord /sdcard/movies/test_movie01.mp4
動画を撮影します。
動画のファイルは、Android端末直下の「Movies」フォルダに格納するように指定しています。
動画は、AndroidStudioと同様に、3分まで撮影が可能となっています。
②動画撮影終了
Ctrl+C
動画を終了する場合は、上記キー操作を行います。
(コマンド入力ではありません)
または、3分経過することで、動作撮影は終了となります。
□ファイル関連
こちらでは、ファイルの送信、ファイル階層の移動等のコマンドについてご紹介いたします。
◇adb push PC側のファイル/端末側のファイル階層
adb push C:\Users\sinsu\Test\log.txt /sdcard/download
PC⇒Android端末へファイル送信を行います。
◇「ls」、「cd ファイル階層」
コマンドベースで、Android端末のファイル階層のリスト表示、及びファイル階層へ移動します。
①ファイル階層のリスト表示
Adb shell
Shellコマンドを入力します。
ls
ファイルの階層一覧を表示します。
今回は「sdcard」内のスクリーンキャプチャを参照したいと思います。
cd ファイル階層
Cd screenshots
ファイル階層へ遷移します。
以下は、lsとcdを繰り返し行い、「Screenshots」の階層に遷移して、スクリーンショットのファイルを参照するまでを行っています。
□その他adbコマンド操作
上記ご紹介したadbコマンドは、ごく一部で、他にも様々なコマンド操作があります。
以下githubのページに、有志がまとめたadbコマンドが一覧化されていますので、ご興味ある方は、アクセスしてみてはいかがでしょうか。
https://gist.github.com/Pulimet/5013acf2cd5b28e55036c82c91bd56d8
■最後に
今回はadbコマンドに関して、ご紹介させていただきました。
Androidのテストなど行う際に、役立てて頂ければ幸いです。
最後まで読んで頂き、ありがとうございました。
サイトトップへ
https://susakiworks.com/
作ればわかる!Androidプログラミング Kotlin対応 10の実践サンプルで学ぶAndroidアプリ開発入門