私も東京にいますので、地震発生直後はいつもの地震だなって思っていましたが次第に大きくなり本棚等が倒れそうになり必死で抑えるのが精一杯でした。最初はTwitterで地震コメントを呟いたのですが、途中からは本棚を抑えながらも大量の地震コメントが流れてきました。
この時こそネットワークで繋がっているっていいなぁって思った改めて実感しました。
まだまだ被害の全容や刻々と変化する情勢に予断を許せる状況ではありませんが、災害に悲観しているだけでは復興の役にも立たないのでポジティブに仕事をすることで、僅かながら社会貢献することにしたいと思っています。
<Ubuntu 10.10 on VMWare Workstation>
私の環境はUbuntu 10.10をWindows 7 Pro 64bitのVMWare Workstationで稼働させています。この環境にNexux Sを接続します。とはいえ、普通に接続すれば問題ないのですが、物忘れが多い私の備忘録として記載します。
1)環境の準備
- Ubuntu 10.10
- Nexus S
これだけなんですが、VMWare WorkstationはWindows 7 64bitで稼働させています。VMWare Playerでも同様に稼働できると思います。Nexus Sを例にしていますが、取り敢えずAndroid端末ならなんでも良いです。
Android端末はUSBデバッグをONにしておきましょう。(笑
2)情報収集
- Ubuntu 10.10上のAndroid端末情報を取得する。
$ sudo lsusb
この結果からIDの隣である18d1がUSB Vendor IDになります。隣にある4e22は何だ?ってことになると思います。分かり難いですよね。詳しく見るには以下のコマンドを入力すると分かります。
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 004: ID 18d1:4e22 Google Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub$ sudo udevadm info --query=all --name=/dev/bus/usb/001/004
ID_MODELにNexus Sを記載されていますし、ID_VENDOR_IDには先の値が入っています。(x16桁は端末シリアル番号です。)
P: /devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1
N: bus/usb/001/004
S: char/189:3
E: UDEV_LOG=3
E: DEVPATH=/devices/pci0000:00/0000:00:11.0/0000:02:03.0/usb1/1-1
E: SUBSYSTEM=usb
E: DEVNAME=bus/usb/001/004
E: ID_VENDOR=Samsung
E: ID_VENDOR_ENC=Samsung
E: ID_VENDOR_ID=18d1
E: ID_MODEL=Nexus_S
E: ID_MODEL_ENC=Nexus\x20S
E: ID_MODEL_ID=4e22
E: ID_REVISION=0227
E: ID_SERIAL=Samsung_Nexus_S_xxxxxxxxxxxxxxxx
E: ID_SERIAL_SHORT=xxxxxxxxxxxxxxxx
E: ID_BUS=usb
E: ID_USB_INTERFACES=:080650:ff4201:
E: ID_MEDIA_PLAYER=google_nexus-s
E: MAJOR=189
E: MINOR=3
E: DEVTYPE=usb_device
E: DRIVER=usb
E: PRODUCT=18d1/4e22/227
E: TYPE=0/0/0
E: BUSNUM=001
E: DEVNUM=004
E: DEVLINKS=/dev/char/189:3
3)udevのルール編集と
- 51-android.rulesを新規で作成します。
$ sudo vi /etc/udev/rules.d/51-android.rules
上記の"18d1"がID_VENDOR_IDになります。Android機器が異なる場合にはベンダ毎に変わります。Nexusシリーズの場合、Googleが製造していないのでNexus Sの場合にはサムソンになるのですが、サムソンは"04e8"なので別IDを利用していることになります。
SUBSYSTEM=="usb", ATTRS{idVendor}=="18d1", OWNER="ユーザ名", GROUP="ユーザ名" - udevの再起動
$ sudo restart udev
これで設定自体は完了しています。 - adbの再起動
ここで、一旦Android端末をUSBから接続を外し、再度接続し直します。$ adb kill-server
これで完了です。
$ adb start-server
$ adb devices
List of devices attached
emulator-5554 device
端末シリアル番号 device
<追記>
2月下旬に発注していたMotorola XOOMが2011/3/15に到着しました。レポートは後日としますが、Windows 7 64bit上でVMWare Workstationで稼働していますUbuntu 10.10でNexus S同様に接続しました。
上記ど同様にlsusbコマンドで調査し下記設定で問題なく動作しています。
$ sudo vi /etc/udev/rules.d/51-android.rulesEclipse上のDDMSから画面キャプチャも問題なく出来るのですが、速度が遅いので
SUBSYSTEM=="usb", ATTRS{idVendor}=="22b8", OWNER="ユーザ名", GROUP="ユーザ名"
$ adb shell screencap -p /mnt/sdcard/capture.jpgで行う方がかなり速く取得できました。コマンド操作が面倒な方は通常通りで良いですが。(笑)
$ adb pull /mnt/sdcard/capture.jpg
0 件のコメント:
コメントを投稿