Android Hacks - Hack57

1,664 views

Published on

「Android Hacks ―プロが教えるテクニック & ツール」(株式会社ブリリアントサービス 著)を教材とした勉強会でのまとめ資料です。

http://www.oreilly.co.jp/books/9784873114569/

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,664
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Android Hacks - Hack57

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

×