mmb memo

Androidアプリ開発メモ、Linuxサーバーメモなどの備忘録的メモ

スポンサーサイト

--.--.-- (--)
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Android実機デバッグができないCentOS6.4

2013.05.24 (Fri)



環境
VMwarePlayer
CentOS6.4 64bit
Eclipse JUNO
NEC N-06C

EclipseからAndroid実機デバッグをしようとすると、
No active compatible AVD's or devices found. Relaunch this configuration after connecting a device or starting an AVD.
とエラーが出て実機デバッグができない。

端末から接続確認すると
[root@mmbsrv ~]# adb devices
List of devices attached
???????????? no permissions
と出る。

前回ほぼ同じ構成で開発環境を構築した時は、なにも設定をすること無く実機デバッグができた。
その時との違いは、「root」ユーザーで開発環境を動作させていたというところ。
root」でログインしているという気持ち悪さから今回は一般ユーザーで動作する様に環境を構築していた。
EclipseとAndroidSDKの設置場所は「/home/ユーザー/adt/以下」

一般ユーザーからadbを再起動させる。
[mmbsrv@mmbsrv ~]$ adb kill-server
[mmbsrv@mmbsrv ~]$ adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
adbは起動に成功したようなので、接続確認をする
[mmbsrv@mmbsrv ~]$ adb devices
List of devices attached
???????????? no permissions
と接続できない。

「no permissions」と一般ユーザーということから一旦「root」になる。
[mmbsrv@mmbsrv ~]$ su root
パスワード:
root」でadbを再起動
[root@mmbsrv mmbsrv]# adb kill-server
[root@mmbsrv mmbsrv]# adb start-server
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
[root@mmbsrv ~]# adb devices
List of devices attached
3*******************3 device
認識できた。

また、一般ユーザーに戻り接続できるか確認
[root@mmbsrv ~]# su mmbsrv
[mmbsrv@mmbsrv root]$ adb devices
List of devices attached
3*******************3  device
これも認識できた。
ここでEclipseを起動し、実機実行を行うと無事実行できた。

しかし、マシンを再起動し実機実行しようとするとまた同じ症状に。
どうもrootユーザー以外で実機デバイス実行をしようとするときは/etc/udev/rules/51-android.rulesを作成しなければいけないようだ。
本家のレファレンスを確認
http://developer.android.com/tools/device.html

rootユーザーで作成するのでrootになる。
[mmbsrv@mmbsrv ~]$ su root
パスワード:

rules.dに移動
[root@mmbsrv]cd /etc/udev/rules.d
[root@mmbsrv rules.d]# ls
60-fprint-autosuspend.rules 90-hal.rules
60-pcmcia.rules 97-bluetooth-serial.rules
60-raw.rules 98-kexec.rules
70-persistent-cd.rules 99-fuse.rules
70-persistent-net.rules 99-vmware-scsi-udev.rules
90-alsa.rules

51-android.rulesが無いことを確認

51-android.rulesを作成
[root@mmbsrv rules.d]# vi 51-android.rules
UBSYSTEM=="usb", ATTR{idVendor}=="0409", MODE="0666", GROUP="plugdev"
上記1行を書く
idVendorに対象端末がNECなので「0409」
端末に合わせて番号を選ぶ。
複数行書いてもいいようだ。
詳しくは、本家レファレンス参照
下の方にベンダー番号の一覧も出ている。
http://developer.android.com/tools/device.html

所有権付加
[root@mmbsrv rules.d]# chmod a+r /etc/udev/rules.d/51-android.rules

これでマシンを再起動しても無事接続することができた。
以上
スポンサーサイト

<< 前の記事へ | HOME | 次の記事へ >>

コメント


管理者のみに表示

トラックバック

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。