連載
» 2011年07月22日 00時00分 公開

実践しながら学ぶ Android USBガジェットの仕組み(1):Android USBガジェットを使ってみよう! (3/4)

[中垣内勇祐、森崇、中谷洋一(永和システムマネジメント),@IT MONOist]

ADB(Android Debug Bridge)

 ADBは、“Android Debug Bridge”の略で、Androidをデバッグするためのツールです。普通にスマートフォンを使う分には、まず使用することはないと思いますが、Android開発をする際には大変重宝する機能です。

 ADBの代表的な機能としては以下が挙げられます。


No. 機能
1 アプリケーションのインストール/アンインストール機能
2 ログ出力機能
3 データを出し入れする機能
4 シェル機能
表6 ADBの代表的な機能

 今回は、4番目の「シェル機能」を紹介します。「シェル」とは、UNIX系のOSに標準で組み込まれている機能であり、AndroidもベースはLinuxですので、当然シェルが組み込まれています。

 Linuxが動作するには、「カーネル」と呼ばれるOS本体が動作する必要がありますが、ユーザーがそのカーネルに対して命令を出すためには、「システムコール」と呼ばれるC言語のインタフェースを使う必要があります。このインタフェースを使うためには、C言語プログラムを作成して、コンパイルして……と、非常に面倒な作業が発生しますが、Linuxは、ユーザーにこのような面倒なことをさせないように、ユーザーとカーネルとの間を仲介してくれる“シェル”を用意してくれています。ユーザーはシェルに対して、「こんなことして!」とキーボードで打ち込むだけで、カーネルに対してそれに対応する一連の命令を自動で発行してくれるのです。ありがたいですね。

 実は、さきほどシリアル接続して組み込みボードにアクセスしたときに使っていた機能がまさにそのシェルだったのです(気が付きましたか?)。

 先ほどはシリアル接続していましたが、Androidスマートフォンにはシリアルインタフェースなどありません。そのため、USBを使ってシェルを含む便利な機能を利用できるよう提供されているのが、ADBなのです。

 それでは、PC側でADBを使えるようにするために、「Android SDK」をインストールしましょう。手順は以下の通りです。

  1. Android SDKのダウンロード
  2. SDKの解凍
  3. パッケージのアップデート
  4. SDKのパス設定

1.Android SDKのダウンロード

 まず、AndroidのDevelopersサイトより、Linux用のAndroid SDK「android-sdk_r11-linux_x86.tgz」をダウンロードします。

Webサイト http://developer.android.com/sdk/
ダウンロードファイル android-sdk_r11-linux_x86.tgz
ファイルサイズ 約27Mバイト
表7 Linux用Android SDK

2.SDKの解凍

 次に、ダウンロードした「android-sdk_r11-linux_x86.tgz」を以下のコマンドで解凍します。

tar zxf android-sdk_r11-linux_x86.tgz

 本連載では、「~/android」以下で作業し、SDKのディレクトリを「~/android/sdk」に名前を変えて配置しました(図17)。

Android SDKを解凍し、「sdk」に名前を変更 図17 Android SDKを解凍し、「sdk」に名前を変更

3.パッケージのアップデート

 解凍した直後のSDKにはADBが含まれていないため、最初にパッケージを一新しておきます。「sdk/tools」内の「android」というコマンドを実行しましょう(図18)。

「android」コマンドを実行 図18 「android」コマンドを実行

 すると、「Android SDK and AVD Manager」が起動します(図19)ので、[Installed packages]を選択後、[Update All...]を実行します(注12)。

Android SDK and AVD Manager 図19 Android SDK and AVD Manager
※注12:ネットワークによってマネジャーの「Settings」でプロキシをあらかじめ設定しなければならない場合があります。


 この際、インストールするパッケージを選択できますが、デフォルトの設定でADBがインストールされるため、変更せずに[Install]を実行します(図20)。

パッケージのインストール 図20 パッケージのインストール

 パッケージが多いため、それなりに時間がかかります。完了したらマネジャーを終了します。

 「sdk」以下のディレクトリが増えているはずです。この内、「platform-tools」に「adb」が含まれています(図21)。

「adb」がインストールされた 図21 「adb」がインストールされた

4.SDKのパス設定

 最後に、「adb」やその他のAndroid開発用のツールがどこでも実行できるように、SDKにパスを設定します。Android SDKを使うには、以下の場所にパスを通すことをオススメします。

  • Javaの「bin」ディレクトリ
  • Android SDKの「tools」ディレクトリ
  • Android SDKの「platform-tools」ディレクトリ

 本稿では、「~/.bashrc」の最後に以下の記述を追加してパスを設定しました(図22)。

パスの設定 図22 パスの設定

ADBを使ってみよう!!

 それでは、早速ADBを使ってみましょう。まずは、PCに接続されているAndroid端末を知る「adb devices」からはじめます(図23)(注13)。

「adb devices」を実行 図23 「adb devices」を実行
※注13:使用できるAndroidデバイスの一覧を表示するコマンドです。


 あれ? 表示がおかしいですね。どうやら、root権限でない「adb」のサーバデーモンでは正常に動作しない場合があるようです。そのため、adbサーバをあらかじめroot権限で起動しておくか、既に起動している場合はいったん終了して再起動する必要があります。root権限を付けて再起動した様子が図24です。「sudo」を使用する際、パス設定が引き継がれるよう「alias」を用いています。

サーバをroot権限で再起動し、「adb devices」を再実行 図24 サーバをroot権限で再起動し、「adb devices」を再実行

 Androidデバイスをちゃんと認識してくれましたね!

Copyright © ITmedia, Inc. All Rights Reserved.