A.用adb區域網路功能串連裝置
1,先用usb串連運行adb命令,將串連方式改為tcpip
adb tcpip {port} port為連接埠號碼
2,拔掉usb線,運行adb命令串連裝置
adb connect xxx.xxx.xxx.xxx(裝置ip):port(剛才設定的連接埠號碼)
3,正常運行adb命令
adb的工作方式比較特殊採用監聽Socket TCP 5554等連接埠的方式讓IDE和Qemu通訊,預設情況下adb會daemon相關的網路連接埠,所以當我們運行Eclipse時adb進程就會自動運行。 ADB是一個 用戶端-伺服器端 程式, 其中用戶端是你用來操作的電腦, 伺服器端是android裝置.
B.adb shell的一些常見命令
1.adb shell
a.通過上面的命令,就可以進入裝置或模擬器的shell環境中,在這個Linux Shell中,你可以執行各種Linux 的命令,如果只想執行一條命令,可以輸入adb shell cmd
eg: adb shell dmesg會列印出核心的調試資訊
adb shell logcat v會列印出log資訊
b.adb shell ls列出裝置的目錄列表
eg: adb串連裝置操作
adb shell
adb -s xxxx shell
2.上傳檔案: adb push
下載檔案: adb pull
/tmp/...指的是在裝置linux環境中要操作檔案的路徑
eg: adb push key data/app 就是將key檔案上傳到使用者目錄中
a.將檔案放入裝置
eg: adb push xxx.* /directory
adb -s xxxx(裝置編號) xxx.* /directory
b.將檔案拉出裝置
eg: adb pull xxx.* /directory
adb -s xxxx(裝置編號) xxx.* /directory
3.安裝程式: adb install <*.apk>
卸載軟體: adb unistall apk(注意卸載的時候和安裝的時候的檔案名稱是不一樣的,例如安裝的時候adb shell GPSStatus2b2.apk,這個apk檔案就被安裝在data/app目錄下,但是使用uninstall的時候,首先要到、data/app目錄下查看安裝的apk檔案在linux目錄下的檔案名稱,發現是com.eclipsim.gpsstatus.apk,使用adb uninstall com.eclipsim.gpsstatus.注意不要加apk尾碼。返回success結果證明檔案卸載成功)。
a.用adb安裝apk
eg: adb install xxx.apk
adb install -s xxxx(裝置編號) xxx.apk 多個裝置
b.用adb卸載apk
eg: adb uinstall xxx.apk(通常要寫明詳細的包名和activity名)
adb uinstall -s xxxx(裝置編號) xxx.apk 多個裝置
補充一點,通過adb安裝的軟體(*.apk)都在"/data/app/"目錄下,所以安裝時不必制定路徑。
卸載的時候當然也可以直接到目錄下使用rm命令也可。
如果有多個裝置在啟動並執行話,發送命令時必須用上-s,-e或-d這幾個參數指定目標裝置。
adb -e 發送命令到模擬器。
adb -d 發送命令到到USB裝置,比如手機。
adb -s 指定一個目標。adb -s <serialNumber> <command>install <path-to-apk>
例如:adb -s emulator-5554 install helloWorld.apk
4.顯示android模擬器狀態:
adb devices 列出所有串連的裝置
例如:
~$ sudo /opt/android/android-sdk/tools/adb devices
List of devices attached
emulator-5554 device
HT95LKF00945 device
這裡就列出了兩個裝置,第一個是模擬器,第二個是手機。
注意:這裡是用root使用者來啟動adb伺服器和執行adb命令,不然就會 出現“no permissions”
adb get-serialno 列印裝置序號
adb version 列出ADB的版本號碼
adb get-state 列印出的結果一般是offline | bootloader | device
adb help 查看adb所支援的所有命令
adb version 查看adb的版本序號
adb logcat 列印日誌到螢幕
adb bugreport 列印dumpsys,dumpstate和logcat資料到螢幕
adb jdwp 查看指定的設施的可用的JDWP資訊.
adb forward forward <local> <remote>
adb get-serialno 查看adb執行個體的序號.
adb get-state 查看模擬器/設施的目前狀態.
adb ppp 通過use裝置運行PPP
adb wait-for-device 如果裝置不聯機就不讓執行。
5.等待正在啟動並執行裝置: adb wait-for-device
6.adb start-server
adb kill-server 一般在鍵入adb shell命令後顯示device offline或者是顯示有多個裝置的情況下使用
7.adb remount 重新掛載系統磁碟分割,就是將系統磁碟分割重新掛載為可寫。
8. adb root使用管理員權限
9. adb bugreport列印除所有的bug資訊
10.adb shell logcat -b radio 記錄無線通訊日誌:一般來說,無線通訊的日誌非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設定記錄:
11.adb emu
12.連接埠轉寄: adb forward adb forward tcp:5555 tcp:1234
(將預設連接埠TCP 5555轉寄到1234連接埠上)