這兩天剛在新買的Thinkpad E40上搭建好了Android開發環境,一點小的心得體會寫下來共以後參考。
我裝的系統是ubuntu10.10,在你的真機usb連上要用adb之前請先保證機器上有adb,這個在安裝android sdk 之後就有。下一步就是怎麼讓adb工作。
sdk文檔上有推薦方法是:
1. 新建 /etc/udev/rules.d/51-android.rules,該文件內容可模仿下面的內容:
# adb protocol on passion (Nexus One)
SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", ATTR{idProduct}=="4e12", MODE="0600",OWNER=="username"
這個是讓系統識別Nexus One android機器的內容,如果要加你自己的機器,只要知道你目標機的 VendorId, ProductId即可。
2. 如何得到VendorId, ProducId?將目標機用usb與電腦相連,在命令行窗口輸入lsusb,即可顯示與本機相連的所有usb設備。如:
michelle@michelle-ThinkPad-Edge:~$ lsusb
Bus 002 Device 007: ID 0489:c001 Foxconn / Hon Hai
Bus 002 Device 003: ID 17ef:4815 Lenovo Integrated Webcam [R5U877]
其中 Bus 002 Device 007: ID 0489:c001 Foxconn / Hon Hai
是我的android設備. 它的VendorId是0489,ProductId是c001。
3.在 /etc/udev/rules.d/51-android.rules文件中加入剛纔lsusb中查到的內容既可。如:
# adb protocol on FM6 (Foxconn FM6)
SUBSYSTEM=="usb", ATTR{idVendor}=="0489", ATTR{idProduct}=="c001", MODE="0666", OWNER="michelle"
這裏的OWNER就是你登錄ubuntu的用戶。
4. 在命令行執行
sudo chmod a+rx 51-android.rules
sudo service udev restart
這樣就重啓了udev service,讓剛纔新加的51-android.rules生效
5.執行
adb kill-server
adb devices
即可看到找到對應的設備,adb可用。
6. 如果這樣做後還是不能連上adb, 則要在 ~/.android 目錄下的adb_usb.ini文件中添加你所查到的設備的vendor id. 如本例中 vendorID = 0489, 則在該文件下添加一行:
0x0489
7.然後重新執行步驟5即可