ubuntuからandroidプログラムの実機での実行
タイトルのことを実行しようとしてハマったので解決法のメモ.
環境はubuntu11.04とgalaxy s2
javaとeclipseとandroid sdkは入っていて,
エミュレータでの実行は成功した後の話.
ついでに,adbへのパスも通ってる.
android側では"提供元不明のアプリ"と"USBデバッグ"にチェックをつけている状態.
何も設定せずにusbでandroidをつなぎ,adb devicesを実行すると以下のようになる.
# adb devices
?????????? no permission
udev rulesの設定が必要らしい.
まずは,lsusbでidVendorを確認.
# lusb
Bus 001 Device 011: ID 04e8:685e Samsung Electronics Co., Ltd
これでvendor idが04e8だと分かる(685eはproduct id,たぶん)
udev rulseを設定.idVendorのところにはさっき調べたvendor idを入れる
sudo echo 'SUBSYSTEM=="usb", ATTR{idVendor}=="04E8", MODE="0666"' /etc/udev/rules.d/51-android.rules
sudo chmod a+rx /etc/udev/rules.d/51-android.rules
これでもまだno permissionで,調べたところadb serverをsuper userで実行すればよいとのこと
adb kill-server sudo adb start-server
あとは,androidをつなぎなおせば認識をしてくれた.
adb devices
List of devices attached
############### device
(###############には実際は数字が入ってます)