Linux上のAndroid開発で実機実行する際のudev/adb設定

お久しぶりです.今年度から名古屋のお魚さんかわって東京のお魚さんになったお魚さんです.

魚類の中で最小の種は,Paedocypris progeneticaと言い,成魚で体長7.9〜10mm程度なんだそうですね.
最小の魚類であるばかりか,最小の脊椎動物とのことです.

さて,Linux PC上でAndroidアプリ開発するとき,Android端末をPCに認識させるために設定が必要です.
ググれば出る情報ですがよく忘れるのでメモ.

やることは単純です.
(1)端末のベンダIDをudevのルールに追加
(2)adbを再起動
ついでに,アプリを端末上で実行するところまで説明します.

udev設定

Android端末をUSBでLinux PCとつなぎます.

% lsusb
...
Bus 002 Device 018: ID 0fce:619e Sony Ericsson Mobile Communications AB
...
Bus 002 Device 021: ID 0bb4:0ff9 HTC (High Tech Computer Corp.)
...

こんなかんじで,SONY EricssonのベンダIDは0fce,HTCのベンダIDは0bb4,…というかんじで見ることができます.

ベンダIDを調べたら,

SUBSYSTEM=="usb", ATTRS{idVendor}=="ここにベンダIDを入れる", MODE="0666", GROUP="plugdev"

という文字列を,以下ファイルに追記します.端末を複数お持ちならベンダごとに記述してください.
/etc/udev/rules.d/51-android.rules

終わったら,念のためにudevに設定をリロードさせます.で,adb (android debug bridge)を再起動します.

% sudo udevadm control --reload-rules
% adb kill-server
% adb start-server

ちなみにadbは,Android SDKのルートディレクトリ下のplatform-toolsにあります.
ここまでで設定は完了です.

アプリ動かすまで

ここで一旦Android端末をUSBから引っこ抜いて,また接続します.
これをしないとudevが端末を認識してくれないので.

では,実際にアプリを動かしてみましょう.
開発環境(Eclipse+SDK+ADTPlugin)については導入済みということにして,またAndroid端末のUSBデバッグモードも有効にしておいてください.

プロジェクトもすでに作ってあるとします.
EclipseのRun asボタンをクリックして,

eclipse_click_run_as

端末を選択して,
eclipse_choose_real_device

OKをクリックすると端末で動きます!
execution_result_htcj

Androidに限らず,もっとみんなLinux PCで開発すればいいのに!(マサカリ覚悟)

参考