android hacks - hack57
DESCRIPTION
「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。http://www.oreilly.co.jp/books/9784873114569/TRANSCRIPT
![Page 1: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/1.jpg)
ANDROIDHACKS#57 ADB を使用する担当:オタクな SE やってます
Twitter : @motooomiya3
23/04/08
1
![Page 2: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/2.jpg)
この資料について• この資料は下記の本をベースに勉強会で作成した資料です。
• 『 Android Hacks 』(株式会社ブリリアントサービス著、オライリー・ジャパン刊)
• この本の紹介ページが下記にあります。
• http://www.oreilly.co.jp/books/9784873114569/
23/04/08
2
![Page 3: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/3.jpg)
アジェンダ1. Android Debug Bridge(adb) とは ?
1. ADB とは何ぞや ?
2. ADB の仕組み1. ADB クライアント2. ADB サーバ
3. ADB のコマンド例1. 種々のコマンド
23/04/08
3
![Page 4: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/4.jpg)
1. Android Debug Bridge(adb) とは ?
23/04/08
4
![Page 5: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/5.jpg)
1. ADB とは何ぞや ?• ADB(Android Debug Bridge) の意味でデバイスやエミュレータの状
態を管理するツール ※ Android SDK の platform-tools に含まれるツール
このツールを用いると、現在利用可能なデバイス・エミュレータの
列挙、シェルコマンドの発行、ファイルの転送等が行える。
また、 Eclipse から Android アプリをビルドしたときも、裏側で
ADB を用いてエミュレータまたは実際のデバイスに接続している。
ADB は主に、 ADB クライアントと ADB サーバから構成される。
23/04/08
5
![Page 6: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/6.jpg)
2. ADB の仕組み
23/04/08
6
![Page 7: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/7.jpg)
1. ADB クライアント• ADB クライアントとはシェルから adb を実行して起動する
プログラムのことで、通常、 ADB といえばこれを指す。
• ADB クライアントはユーザがシェルで起動する以外にも、
ADT プラグインと DDMS によって起動する。
• ADB クライアントは TCP 5037 ポートを使って ADB サーバと通信
する。複数のデバイスが接続されていても問題なく、 ADB クライ
アントで接続先を指定できる。
23/04/08
7
![Page 8: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/8.jpg)
2. ADB サーバ• シェルから adb コマンドでクライアントを起動するときに
、バックグラウンドで ADB サーバも同時に起動される。サーバ起動時は以下のようなログが表示される。
* daemon not running. Starting it now *
* daemon started successfully *
• ADB サーバは一度起動すると意図的に kill するまでデーモンとして駐在する。
• 二重起動はしないようになっているので、クライアントを複数起動してもサーバーは常に1つだけであり、 ADB サーバーは TCP 5037 ポートを listen する。
23/04/08
8
![Page 9: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/9.jpg)
3. ADB のコマンド例
23/04/08
9
![Page 10: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/10.jpg)
1. 種々のコマンド• ADB サーバを明示的に起動・停止するコマンド
$adb start-server
$adb kill-server
• ADB サーバで認識できているデバイスリストを表示するコマンド
$adb devices
• デバイスのシェルをホストマシンから操作するコマンド
$adb shell
23/04/08
10
![Page 11: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/11.jpg)
1. 種々のコマンド• デバイスのログを表示するコマンド
$adb logcat
• リアルタイムでログを出力するのではなく、今現在のログを一度だけ出力したい場合は以下のコマンド
$adb logcat -d
• ログをフィルタリングしたい場合は、例えば以下のコマンド
$adb logcat *:I
23/04/08
11
![Page 12: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/12.jpg)
1. 種々のコマンド• ログに発生日時を付加して出力したい場合のコマンド
$adb logcat –v time
• 出力するログバッファを切り替えるコマンド
$adb logcat –b events
• stdout と stderr を出力できるようにするコマンド
$adb shell stop
$adb shell setprop log.redirect-stdio true
$adb shell start
23/04/08
12
![Page 13: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/13.jpg)
1. 種々のコマンド• ログをクリアするコマンド
$adb logcat -c
• ログバッファの容量を確認するコマンド
$adb logcat -g
• デバイスのバグレポートを表示するコマンド
$adb bugreport
23/04/08
13
![Page 14: Android Hacks - Hack57](https://reader036.vdocuments.mx/reader036/viewer/2022081820/545cf011b1af9f370a8b4782/html5/thumbnails/14.jpg)
参考 URL• Android プログラミング入門
• http://android.keicode.com/devenv/what-is-adb.php
23/04/08
14