[[bc10]] - 目次 #contents * 概要 [#r9c840d1] 2010/12/14~ ~ bc10のシステム管理やアプリケーションの debug に必要な adb 接続に関して記述しています。~ *ADB [#k111edeb] ADB(あるいは adb) は Android Debug Bridge の略で、~ Android で動作する機器の状態を確認したり管理するためのツールです。~ シリアルコンソールから linux を操作するのに似た感覚で Android を操作できます。~ ~ Android で動作する機器の上で adb のサーバ adbd が動作し、~ 開発環境側の adb クライアントから接続して使用します。~ adb の詳細に関しては、android developers の [[Android Debug Bridge:http://developer.android.com/guide/developing/tools/adb.html]] をご覧下さい。 *adb クライアントの取得と設定 [#p18326bd] [[Download the Android SDK:http://developer.android.com/sdk/index.html]] から 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:http://developer.android.com/sdk/installing.html]]~ こちらの手順を実行して 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 接続 [#v52d5f4c] **USB 経由の adb (linux)[#d8c69b8e] 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 [#pfb8cbeb] 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 接続 [#af7af585] [[USB Driver for Windows:http://developer.android.com/sdk/win-usb.html]]~ にあるように、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 で接続します。~ 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 [#s40b2776] [[TI-Android-FroYo-DevKit-V2 UsersGuide の ADB Android Debugger & Downloader の項:http://processors.wiki.ti.com/index.php?title=TI-Android-FroYo-DevKit-V2_UserGuide#ADB_Android_Debugger_.26_Downloader]]~ ただし、このページの手順の方法では現在は android sdk を取得できません。~ 上記の「adb クライアントの取得と設定」に従って取得してください。