adbを使いこなす


adbは”Android Debug Bridge”の略で、その名の通りAndroidのデバッグをサポートするツール群です。
adbはAndroid SDKに含まれているのですぐに使うことができます。
というわけで今回はadbの活用術をご紹介したいと思います。
※本記事の内容はUbuntu 10.04、Android SDK r6の環境で確認しました。

まず、adbが本当に使えるのか確認してみましょう。
以下のコマンドを実行してみてください。

$ adb
Android Debug Bridge version 1.0.26

adbが正しくインストールされていれば上記のようにadbのヴァージョン情報と一緒に、
adbのヘルプが表示されるはずです。

それではadbの便利な使い方を順に紹介していきます。

接続されているエミュレータ/デバイスを確認する

開発環境に接続されているエミュレータ、もしくはデバイスを確認することができます。
以下のコマンドをタイプしましょう。

# adb devices
List of devices attached
CB511JLV3V	device

 
上記の例では実機が1つ接続されていることが分かります。

エミュレータ/デバイスにAndroidアプリケーション(.apkファイル)をインストールする

エミュレータ/デバイス上に直接Androidアプリケーションをインストールすることができます。
たとえばsample.apkというアプリケーションをインストールしたい場合は以下のようにします。

# adb install sample.apk

 
 

エミュレータ/デバイスにファイルをコピーする

開発環境上からエミュレータ/デバイス上にファイルをコピーすることができます。
たとえば、開発環境上にあるsample.pngという画像をSDカード上にコピーしたいときは以下のようにします。

# adb push sample.png /sdcard/

コマンド実行後、端末側のSDカードを確認してみてください。
sample.pngがアップロードされているはずです。
 
 

エミュレータ/デバイスからファイルをコピーする

エミュレータ上にあるファイルを開発環境上にコピーすることも可能です。

# adb pull /sdcard/sample.png /tmp

上記はSDカード上にあるsample.pngという画像を開発環境上の/tmpにコピーする場合のサンプルになります。
 
 

ログを見る

エミュレータ、およびデバイスの動作ログを見たいときは以下のようにします。

# adb logcat

Eclipseをわざわざ起動させなくてもログを確認できるのでとても便利です。
 
 

複数の端末が接続されている場合

これまで紹介してきた活用術はどれも接続されているエミュレータ/デバイスが1つの場合にのみ有効です。
たとえば、

$ adb devices
List of devices attached
CB511JLV3V	device
emulator-5554	device

上記のように同時に接続されている端末が複数ある場合は、どの端末を対象とするのかを指定しないといけません。
以下のオプションを実行時に指定することができます。

  • -d:USBで接続されている実機に対してコマンドを実行する
  • -e:エミュレータに対してコマンドを実行する
  • -s:指定したシリアル番号の端末に対してコマンドを実行する

たとえば、実機のSDカードにデータをコピーして、エミュレータにアプリケーションをインストールしたい場合は以下のようになります。

$ adb -d push sample.png /sdcard

$ adb -e install RockPlayer_0.2.8_Beta_v6_vfp.apk
463 KB/s (2621291 bytes in 5.522s)
	pkg: /data/local/tmp/RockPlayer_0.2.8_Beta_v6_vfp.apk
Success

これらのコマンドを全て使いこなすことができれば、効率よくAndroidアプリケーションの開発ができると思います。

8 Comments