20201228_title

【テスト環境】Android Strudio adbコマンド(log,Capture,install,etc…)

皆さん、こんにちは。
今回はAndroid端末、Androidエミュレーターで使用できるadbコマンドをご紹介していきたいと思います。
以下内容に沿ってご紹介したいと思います。

■記事内目次

認識関連
ログ取得関連
インストール関連
キャプチャ/撮影関連
ファイル関連
その他adbコマンド操作一覧

事前にAndroid Studioやエミュレーターを設定しておきましょう。
以下の記事にAndroid Studioの導入とエミュレーター設定など掲載していますので、まだの方はご確認頂ければと思います。
コマンドプロンプトも起動しておきましょう。

・Android Studioの導入

【テスト環境】AndroidStudio導入 2020年最新 windows10編

・エミュレーター設定

【テスト環境】Android Studio エミュレーター構築/操作(作成、起動、言語設定、Menu操作)

□ 認識系

20201228_image_adb01
こちらでは、PCとAndroid端末、エミュレータ―を認識させるコマンドをご紹介していきます。

◇ adb devices

20201228_image_adb01_1
実機のAndroid端末とPCをUSB接続した場合や、エミュレーターを起動時にPCとの認識を確認する際に確認するコマンドです。

◇ adb kill-server

20201228_image_adb01_2
adbホストをリセットさせます。
たまに「adb devices」のコマンドを入力しても、認識できない場合は、adbホストを一度リセットするといいでしょう。

◇ adb start-server

20201228_image_adb01_3
abホストをスタートさせます。

□ログ取得関連

20201228_image_log_1

こちらは、AndroidStudioのLoigcatで行うログ取得と同じ内容となります。
個人としては、AndroidStudioがでる前から、コマンドラインベースのログ取得を行っていますので、こちらでログ取得を行っています。

Androidの操作で不具合のエラー等起きた際、エラーの事象をログ取得するシーンがあると思います。
操作が不特定なケースの場合は、エラー発生後、ログを取得することで、さかのぼってログを取得することができます。
または、操作が明確でエラーが起きる場合は、一度余分なログを削除して、取得することをお勧めします。

◇ adb logcat -c

20201228_image_log_1_1
ログは大量に吐き出されるため、事前にエラーの事象が発生する前のログを削除する場合は、こちらのコマンドが有効です。
こちらを実行して、以下ログ取得のコマンドを実行することで、エラーの該当範囲を特定しやすくなると思います。

◇ adb logcat -v time>ログファイルを保存する場所\ファイル名.txt

例:adb log cat -v time>C:\Users\susaki\Documents\Test\log.txt

20201228_image_log_1_2

20201228_image_log_1_3

上記コマンドを 入力した後、Android端末、エミュレーターで操作を行ってみてください。
エラーが起きる操作などを一通り行ったら、コマンドプロンプトを閉じましょう。
そうすると、テキストファイル容量が更新され、ログが確認できると思います。
「-v time」は、時間も出力する内容となっています。
「>ファイルのパス」はテキストファイルにログを出力する内容となっています。
「adb logcat」のみでもログが出力できますが、コマンドライン上で表示されます。

□インストール関連

20201228_image_install_1
アプリインストール関連のコマンドとなります。
基本的に、開発中のアプリや、野良アプリ(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 ファイル

20201228_image_install_2
例:adb install -r “C:\Users\susaki\Documents\Test\Unity chan s Action Shooting_v1.1.4_apkpure.com.apk”
アプリをインストールをすることができます。
「-r」で上書きインストールとなります。

UnityChan、Danboをインストールすると以下のように表示されます。

「Unity Chan」
20201228_image_install_3

「Danbo」
20201228_image_install_1_4

20201228_image_install_1_5

Unity Chanのゲームは普通に面白いと思います。
Danboは、4,5年前に作成したもので、とても懐かしく思い、起動できるかどうか不安でしたが、エミュレータであれば問題なく起動も操作も行えました。(`・ω・´)g

◇adb uninstall パッケージネーム

アプリをアンインストールします。
端末設定からのアプリアンインストールと同様です。
こちらは、事前にインストールされているアプリのパッケージネームを把握しておく必要があります。
まずは、パッケージネームの表示確認、その後アンインストールコマンドでアンインストールの実施となります。
①インストールされているアプリパッケージ一覧
Adb shell
shellコマンドを入力します。

Pm list packages
上記コマンドを入力すると、Android端末内にインストールされているアプリのパッケージネーム一覧が表示されます。
コマンドライン上では、探すのはわかりづらいと思いますので、一度テキストファイルに張り付けてみましょう。
20201228_image_install_1_6

Exit
shellコマンドを抜けた状態にします。
その後、Ctrl+Aで全選択し、テキストファイルでCtrl+Vで貼り付けます。
20201228_image_install_1_7

今回は、Danboアプリをアンインストールしようと思います。
以下パッケージネームが一覧にあることを確認します。
「package:com.susaki.sin15」

②インストールされているアプリをアンインストール
Adb uninstall com.susaki.sin15
上記コマンドを実行後、しばらくするとアプリがアンインストールされます。
20201228_image_install_1_8

 

□キャプチャ/撮影関連

20201228_image_capture_1
こちらでは、スクリーンキャプチャと動画撮影のコマンドをご紹介します。

◇「screencap -p 保存するファイル階層/ファイル名」、「adb pull ファイル階層」

Android画面のスクリーンショットを行います。
AndroidStudioのlogcatでのキャプチャや、Android端末で音量キー+電源ボタン長押しと同じです。
AndroidStudioを起動したくない場合など使うといいかもしれません。

①画面キャプチャ
Adb shell
一度shellコマンドを入力します。

screencap -p /sdcard/screenshots/test01.png
Android端末画面のキャプチャを実行します。
実行後は、exitでshellコマンド状態を終了します。
20201228_image_capture_1_1

②キャプチャをPC側へコピー
adb pull /sdcard/screenshots/test001.png
取得したキャプチャをPC側に送ります。
PC側のファイル階層を指定していなければ、ユーザー直下の階層に配置されます。
20201228_image_capture_1_2
20201228_image_capture_1_3

◇screenrecord 動画保存

adbコマンドで動画撮影も行えます。

①動画撮影
Adb shell
一度shellコマンドを入力します。

screenrecord /sdcard/movies/test_movie01.mp4
動画を撮影します。
動画のファイルは、Android端末直下の「Movies」フォルダに格納するように指定しています。
動画は、AndroidStudioと同様に、3分まで撮影が可能となっています。
20201228_image_capture_1_4

②動画撮影終了
Ctrl+C
動画を終了する場合は、上記キー操作を行います。
(コマンド入力ではありません)
または、3分経過することで、動作撮影は終了となります。
20201228_image_capture_1_5

□ファイル関連

20201228_image_file_1
こちらでは、ファイルの送信、ファイル階層の移動等のコマンドについてご紹介いたします。

◇adb push PC側のファイル/端末側のファイル階層

adb push C:\Users\sinsu\Test\log.txt /sdcard/download
PC⇒Android端末へファイル送信を行います。
20201228_image_file_1_1

20201228_image_file_1_2

◇「ls」、「cd ファイル階層」

コマンドベースで、Android端末のファイル階層のリスト表示、及びファイル階層へ移動します。

①ファイル階層のリスト表示
Adb shell
Shellコマンドを入力します。

ls
ファイルの階層一覧を表示します。
今回は「sdcard」内のスクリーンキャプチャを参照したいと思います。
20201228_image_file_1_3

cd ファイル階層
Cd screenshots
ファイル階層へ遷移します。
以下は、lsとcdを繰り返し行い、「Screenshots」の階層に遷移して、スクリーンショットのファイルを参照するまでを行っています。

20201228_image_file_1_4

 

□その他adbコマンド操作

20201228_image_file_1_5
上記ご紹介したadbコマンドは、ごく一部で、他にも様々なコマンド操作があります。
以下githubのページに、有志がまとめたadbコマンドが一覧化されていますので、ご興味ある方は、アクセスしてみてはいかがでしょうか。
https://gist.github.com/Pulimet/5013acf2cd5b28e55036c82c91bd56d8

 

■最後に

今回はadbコマンドに関して、ご紹介させていただきました。
Androidのテストなど行う際に、役立てて頂ければ幸いです。

最後まで読んで頂き、ありがとうございました。

 

サイトトップへ
https://susakiworks.com/

作ればわかる!Androidプログラミング Kotlin対応 10の実践サンプルで学ぶAndroidアプリ開発入門
Androidprograming

この記事が気に入ったら
いいね ! しよう

Twitter で
20201228_title
最新情報をチェックしよう!