android-sdk-linux_x86/tools下有一堆工具,包括Android Debug Bridge(縮寫adb,有點像gcc的gdb似的),在android開發過程當中,這個工具是使用得最多的。
adb start-server – 實際上它會啓動一個 adb fork-server server
adb kill-server – kill掉
adb devices – 列出全部的設備html
解壓到任何地方,不要刪除掉就是了linux
http://developer.android.com/sdk/index.htmlandroid
由於ubuntu這樣的系統都是默認以非root身份在運行的,要使用usb調試,須要sudo支持。shell
$ lsusbubuntu
查看usb使用狀況,經過兩次比較,發現以下usb口是當前使用的端口:Bus 002 Devices 004:ID 230b:0100,ID 230b 就是idVendor ,0100就是 idProductvim
而後新建並編輯一個文件71-android.rules(前綴數字更大的配置,會覆蓋前綴更小的數字的配置,我試過5一、71,都沒啥問題)bash
$ sudo vim /etc/udev/rules.d/71-android.rules
SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idVendor}=="1035", MODE="0666"
SUBSYSTEM=="usb", ATTRS{Google-Inc}=="18d1", ATTRS{Google-Inc}=="0003", MODE ="0666"工具
$ sudo chmod a+rx /etc/udev/rules.d/71-android.rules測試
這時候還須要編輯一下 ~/.bashrc 文件加入adb tool的路徑spa
$ vim ~/.bashrc
在末尾加入(每一個人都不一樣):
export PATH=${PATH}:/home/zran/platform-tools
或者(每一個人都不一樣)
$ sudo vim /etc/profile
export PATH=$PATH=:/zran-share-ubuntu/Develop/adt-bundle-linux-x86_64-20131030/sdk/platform-tools
export CLASSPATH=.
重啓了環境後,有可能adb尚未找到命令,sudo reboot便可。
注意,若是此時環境變量配置出錯,有可能致使重啓後,沒法登陸,解決辦法見《1-1 ubuntu配置 --- /》(五)系統環境變量出錯。
$sudo /etc/init.d/udev restart
如今須要重啓一下你的Ubuntu,而後USB鏈接手機,確保usb調試已打開,在終端下輸入
從新啓動adb server,拔掉usb從新連上再執行:
adb kill-server
adb devices
adb root
adb shell
adb remount
...
List of devices attached
???????????? no permissions
修改權限便可(通過蒐集、實驗,發現不用每次有新設備都從新配置udev,至少我測試的全志平臺能夠這麼寫,只用第三行配置便可):
$ sudo vim /etc/udev/rules.d/71-android.rules
#SUBSYSTEM=="usb", ATTRS{idVendor}=="12d1", ATTRS{idVendor}=="1035", MODE="0666"
#SUBSYSTEM=="usb", ATTRS{Google-Inc}=="18d1", ATTRS{Google-Inc}=="0003", MODE ="0666"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", MODE="0666"
設置adb所屬用戶、用戶組zran:root,事實上網上多推薦直接設爲root,但我的使用後認爲這樣多有不便,例如adb pull出來的文件,可能須要再次修改權限後才能使用,因此我認爲usr:root的用戶、用戶組更好。
$ sudo chown zran:root /zran-share-ubuntu/Develop/adt-bundle-linux-x86_64-20131030/sdk/platform-tools/adb
設置adb權限
$sudo chmod a+rx /zran-share-ubuntu/Develop/adt-bundle-linux-x86_64-20131030/sdk/platform-tools/adb
上面兩處綜合起來就是默認adb是root組用戶在運行,而且只有root組用戶,或者usr(用戶名)有權修改其權限。