開發android程式,當然能用真機看一下效果是最好的。
在linux下,android手機串連linux並不用裝驅動,但是遺憾的是在eclipse那裡並不能被識別出來。不過,其實只需要下面的幾句就可以解決了。
1、首先我們需要使用以下命令即時監視系統資訊
sudo tail -f /var/log/messages
2、此時在usb介面上串連手(手機需要切換到usb偵錯模式 設定-->應用程式-->開發-->usb調試)
messages會出現
Apr 5 18:24:40 msdx kernel: [10873.569350] usb 2-1.3: new high speed USB device number 12 using ehci_hcd
Apr 5 18:24:41 msdx kernel: [10873.655290] usb 2-1.3: New USB device found, idVendor=0bb4, idProduct=0c86
Apr 5 18:24:41 msdx kernel: [10873.655295] usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Apr 5 18:24:41 msdx kernel: [10873.655298] usb 2-1.3: Product: Android Phone
Apr 5 18:24:41 msdx kernel: [10873.655300] usb 2-1.3: Manufacturer: HTC
Apr 5 18:24:41 msdx kernel: [10873.655302] usb 2-1.3: SerialNumber: SH1CWV800985
Apr 5 18:24:41 msdx kernel: [10873.656901] scsi12 : usb-storage 2-1.3:1.0
Apr 5 18:24:41 msdx mtp-probe: checking bus 2, device 12: "/sys/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.3"
Apr 5 18:24:41 msdx mtp-probe: bus: 2, device: 12 was not an MTP device
Apr 5 18:24:42 msdx kernel: [10874.656632] scsi 12:0:0:0: Direct-Access HTC Android Phone 0000 PQ: 0 ANSI: 2
Apr 5 18:24:42 msdx kernel: [10874.656752] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.656914] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.656984] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657043] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657255] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657450] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657611] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.657676] scsi: killing requests for dead queue
Apr 5 18:24:42 msdx kernel: [10874.658087] sd 12:0:0:0: Attached scsi generic sg2 type 0
Apr 5 18:24:42 msdx kernel: [10874.661002] sd 12:0:0:0: [sdb] Attached SCSI removable disk
看到上面紅色字型了嗎,那就是udev識別的usb調試裝置標識 idVendor=0bb4, idProduct=0c86
關於idVendor=0bb4,貌似大多數android手機都是一樣的。
3、配置udev規則檔案,調整裝置檔案許可權
接下來我們就可以根據前面獲得的usb調試裝置標識來調整我們的裝置檔案的各種屬性以協助android sdk識別usb調試裝置。
在終端下輸入su,然後輸入超級管理員密碼,以超級管理員權限登入。
4、建立udev規則檔案:輸入gedit /etc/udev/rules.d/50-android.rules
5、在開啟的文字編輯器中輸入以下內容:
SUBSYSTEMS=="usb",ATTRS{idVendor}=="0bb4",SYMLINK+="android_adb",OWNER="sunshine"
其中,OWNER裡面對應的是你自己的使用者。ATTRS{idVendor}中對應的則是第2步中得到的那個資訊。
(這裡要特別注意,我們的目的就是使android手機調試裝置檔案的所有者許可權與開啟的 adb 服務的所有者許可權相一致,這樣usb裝置才能被adb服務識別)。
6、運行以下命令使剛更改的配置生效 (此處針對於Fedora及其衍生版本,其他Linux版本請查看udev man)
sudo udevadm control --reload-rules
7、重新插入USB,產生新的裝置檔案
這時會在/dev/下出現一個串連檔案android_adb,它指向的裝置就是你的USB調試的手機裝置。
到這裡應該就可以了。
轉寄於:http://www.linuxso.com/linuxpeixun/25684.html