bc10

概要

2010/12/14

bc10のシステム管理やアプリケーションの debug に必要な adb 接続に関して記述しています。

ADB

ADB(あるいは adb) は Android Debug Bridge の略で、
Android で動作する機器の状態を確認したり管理するためのツールです。
シリアルコンソールから linux を操作するのに似た感覚で Android を操作できます。

Android で動作する機器の上で adb のサーバ adbd が動作し、
開発環境側の adb クライアントから接続して使用します。
adb の詳細に関しては、android developers の Android Debug Bridge をご覧下さい。

adb クライアントの取得と設定

Download the Android SDK から Android SDK を取得しインストールすることで adb が使用可能になります。

android-sdk_r08 以前の version では sdk のアーカイブ中に adb コマンドが含まれていたため
ダウンロードして PATH 設定を行うだけで adb を使用できましたが、
android-sdk_r08 より Android SDK をインストールして
Android SDK and AVD Manager から Android SDK Platform-tools, revison 1 を取得しないと使用できなくなりました。

Installing the SDK
こちらの手順を実行して Android SDK をインストールすると、<sdk>/platform-tools/ に
adb コマンドが配置されますのでここに PATH が通るようにして下さい。

Windows の installer_r08-windows.exe を使用して default のインストール先にインストールした場合は

C:\Program Files\Android\android-sdk-windows\platform-tools\adb.exe

をコマンドプロンプトや Windows Powershell から実行できれば OK です。

Linux の場合は、 android-sdk_r08-linux_86.tgz を ~/ に展開したとすると

~/android-sdk_r08/platform-tools/adb

を shell 上で実行できれば OK です。

adb 接続

USB 経由の adb (linux)

bc10 は kernel の config で USB_GADGET、CONFIG_ANDROID_ADB を設定してあり、
default では USB 接続の adb が有効になっています。

Android で起動している bc10 の「設定」アプリケーションから、
「アプリケーション」→「開発」→「USBデバッグ」のチェックボックスを選択して
USBデバッグモードを有効にします。

開発環境の linux の udev に設定を追加します。
以下の内容の /etc/udev/rules.d/51-android.rules を作成します。

SUBSYSTEM=="usb", SYSFS{idVendor}=="18d1", MODE="0666"

18d1 は Google の USB vendor id です。
(bc10-rowboat-kernel/arch/arm/march-omap2/board-omap3bc10.c の 86行目で設定しています。)
udev ルールの作成後、以下のように permission を設定します。

$ sudo chmod a+r /etc/udev/rules.d/51-android.rules

bc10 の OTG ポートに USBケーブルを接続し、開発環境設定済みの PC に接続します。
以下のコマンドを実行します。

 $ adb devices
List of devices attached
20100720        device

上記のように adb 接続リストに表示されていれば接続成功です。

$ adb shell

で device にログインし各種管理コマンドを実行したり、
ADT Plugin 設定済みの eclipse からアプリケーションの debug を行うことができます。

network 経由の adb

bc10 の kernel は CONFIG_USB_PEGASUS や CONFIG_USB_NET_ASIX8817X などを有効にしてあり、
USB ethernet アダプターを使用することができます。

まず bc10 側の設定を行います。
USB ethernet アダプターを接続して起動し、シリアルコンソールなどから
eth0 の IP アドレスを確認します。

# netcfg                                                                        
      lo       UP    127.0.0.1       255.0.0.0       0x00000049                       
      eth0     UP    192.168.0.15    255.255.252.0   0x00001043 

IP アドレスが取得できていなかった場合は以下のコマンドを実行します。

# netcfg eth0 dhcp

IP アドレスが確認できたら ADB デーモン(adbd)が ethernet を使うよう以下のように設定します。

# setprop service.adb.tcp.port 5555

正しく設定できたら bc10 の adbd を再起動します。

# stop adbd
# start adbd

次に開発環境側の接続設定を行います。

$ export ADBHOST=192.168.0.15 ←(ターゲットになる bc10 の IPアドレス)
$ adb kill-server
$ adb start-server

以下のようにして接続を確認します。

 $ adb devices
List of devices attached
emulator-5554    device

ethernet 経由の接続の場合には、emulator という名前で接続されます。
接続できたら以下のコマンドで bc10 にログインして管理コマンドを実行したり、
eclipse でアプリケーションの debug を実行することができます。

Windows クライアントでの USB 経由の adb 接続

USB Driver for Windows
にあるように、Windows で android SDK をインストールし
Android SDK and AVD Manager で Google Usb Driver package, revision 4 を取得します。
正常に取得できていたら、

C:\Program Files\Android\android-sdk-windows\google-usb_driver\

に Windows 用の Android USB ドライバーがダウンロードされています。

まずコマンドプロンプト上で以下のようにして "%USERPROFILE%\.android\adb_usb.ini" に
bc10 用の vendor id を追記します。
(このファイルが存在していない場合は新たに作成します。)

C:\Uses\beat> echo 0x18D1 > "%USERPROFILE%\.android\adb_usb.ini"


次に以下のファイルに bc10 用の設定値を追加します。

C:\Program Files\Android\android-sdk-windows\google-usb_driver\android_winusb.inf

このファイルをテキストエディターで開き、[Google.NTx86] の項の下に以下の bc10 用設定を追加します。

 ;beatcraft bc10
 %SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_9018
 %CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_9018&MI_01

bc10 の USBデバッグモードを有効にした状態で
bc10 の OTG ポートと開発環境 Windows マシンを USB で接続します。

Windows が USB 機器の接続を検知し、新しいデバイスの接続を知らせ
ドライバーのインストールを要求してきますので、ドライバーの場所を

C:\Program Files\Android\android-sdk-windows\google-usb_driver

と指定してインストールします。
インストールが完了したら USB ケーブルを一度抜いて再度挿入します。
コマンドプロンプトか Windows PowerShell 上で以下のコマンドを実行します。

C:\Users\beat> adb kill-server
C:\Users\beat> adb start-server

このあと adb shell を実行すると プロンプトが # になり、root 権限で bc10 にログインできます。

reference

TI-Android-FroYo-DevKit-V2 UsersGuide の ADB Android Debugger & Downloader の項
ただし、このページの手順の方法では現在は android sdk を取得できません。
上記の「adb クライアントの取得と設定」に従って取得してください。


BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS
Last-modified: 2010-12-14 (火) 20:41:44 (4875d)