adb-Android Debug Bridge 安卓調試連接,開發人員使用adb可以更快更好的調試apk,而作為測試人員了解adb也可以讓我們更高效的測試Android項目,可以通過adb安裝卸載apk,拷貝推送文件,查看設備硬件信息,查看應用程序資源占用,在設備執行shell命令等等。
ADB是一個c/s架構的應用程序,運行pc端的adb server和adb client,以及運行在設備中的adb demon,adb server將adb client發送的命令請求通過USB或者tcp的方式發送到對應的adb demon中,adb demon作為一個后台進程在Android設備或模擬器中運行,它的作用是連接adb服務器,並且為運行在主機上的客戶端提供一些服務。
命令語法
adb [-d | -s | -e ]
-d: 指定當前唯一通過USB連接的Android設備作為命令目標
-s: 指定相應serialNumber 號的設備/模擬器為命令目標
-e: 指定當前唯一運行的模擬器作為命令目標
adb devices
查看當前連接的設備
5ENDU19524000209即為serialNumber 號
為指定設備安裝apk
adb -s 5ENDU19524000209 install test.apk
啟動停止
adb start-server
adb kill-server
查看adb版本
adb version
adb應用管理
查看已安裝應用列表
adb shell pm list packages
可以通過grep來搜索過濾
adb shell pm list packages | grep ‘xxxx’
安裝應用
adb install xxxx.apk
可以跟一些參數進行安裝
-r 覆蓋安裝
-s 將應用安裝到sdcard
-g 授予所有運行時權限
命令運行后如果輸出success 則代表安裝成功
卸載應用
adb uninstall com.xx.xx
com.xx.xx為應用包名而不是應用名,即可以通過adb shell pm list packages查看應用包名,一般com.xx.xx
清除應用數據與緩存
adb shell pm clear <package name>
查看當前正在運行的activity
adb shell "dumpsys window | grep mCurrentFocus”
com.sjk.android是package name
com.sjk.coursecenter.CourseActivity 就是當前正在運行的活動
調起activity
adb shell am start [option]<INTENT>
例如查看應用啟動時間,可以用:
adb shell am start -W package name/activity
adb文件管理
復制設備里的文件到電腦
adb pull <設備里的文件路徑> <電腦里的路徑>
復制電腦里的文件到設備
adb push <電腦里的路徑> <設備里的文件路徑>
adb查看設備信息
查看設備型號
adb shell getprop ro.product.model
查看電池狀況
adb shell dumpsys battery
查看屏幕分辨率
adb shell wm size
cpu信息
adb shell cat /proc/cpuinfo
adb shell top -n 1
內存信息
adb shell dumpsys meminfo packagename
無線adb設置
adb tcpip <port端口號> 默認5555
adb connect <ip>:<port>
以上都是比較常用的一些adb命令。