1. adb 簡介
adb 的全稱為 Android Debug Bridge,就是起到調試橋的作用。
借助 adb 工具,我們可以管理設備或手機模擬器的狀態。還可以進行很多手機操作,如安裝軟件、系統升級、運行 shell 命令等等。其實簡而言說,adb 就是連接 Android 手機與 PC 端的橋梁,可以讓用戶在電腦上對手機進行全面的操作。
通過 adb 我們也可以在 Eclipse 中方面通過 DDMS 來調試 Android 程序(即 debug 工具)。
adb 的工作方式比較特殊,采用監聽 Socket TCP 5554 等端口的方式讓 IDE 和 Qemu 通訊,默認情況下 adb 會 daemon 相關的網絡端口,所以當我們運行 Eclipse 時 adb 進程就會自動運行。
2. adb 常用命令
查看設備
adb devices
這個命令是查看當前連接的設備, 連接到計算機的 android 設備或者模擬器將會列出顯示。
查看手機系統版本
adb shell getprop ro.build.version.release
安裝軟件
adb install <apk文件路徑>
這個命令將指定的apk文件安裝到設備上
卸載軟件
adb uninstall <軟件名>
adb uninstall -k <軟件名>
-k 參數表示卸載軟件但是保留配置和緩存文件.
進入設備或模擬器的 shell
adb shell # 進入 shell 中,執行各種 shell 命令
adb shell [command] # 執行一條 shell 命令
通過上面的命令,就可以進入設備或模擬器的shell環境中,在這個 Linux Shell 中,你可以執行各種 Linux 的命令。另外
如果只想執行一條 shell 命令,可以采用以下的方式,如:adb shell dmesg 會打印出內核的調試信息。
發布端口
可以設置任意的端口號,做為主機向模擬器或設備的請求端口。如:
adb forward tcp:5555 tcp:8000
從電腦上發送文件到設備
adb push <本地路徑> <遠程路徑>
用 push 命令可以把本機電腦上的文件或者文件夾復制到設備(手機)。
從設備上下載文件到電腦
adb pull <遠程路徑> <本地路徑>
用 pull 命令可以把設備(手機)上的文件或者文件夾復制到本機電腦。
查看設備的 Log 日志
常用格式如下:
// 格式1:打印默認日志數據
adb logcat // 格式2:需要打印日志詳細時間的簡單數據
adb logcat -v time// 格式3:需要打印級別為Error的信息
adb logcat *:E// 格式4:需要打印時間和級別是Error的信息
adb logcat -v time *:E// 格式5:將日志保存到電腦固定的位置,比如D:\log.txt
adb logcat -v time > D:\log.txt
查看 bug 報告
adb bugreport
記錄無線通訊日志
一般來說,無線通訊的日志非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設置記錄:
adb shell
logcat -b radio
獲取設備的 ID 和序列號
adb get-product
adb get-serialno
adb 服務器殺死和啟動
adb kill-server
adb start-server
裝包、卸載包
adb -s deviceid install <apk在PC端的路徑>
adb shell pm install <apk在移動端的路徑>
adb uninstall <包名>
與 Activity 操作等相關
1)獲取當前啟動 app 的包名:
adb shell dumpsys window w |findstr \/ |findstr name=
2)通過獲取到的包名獲取到啟動 app 的 activity:
adb shell monkey -p 包名 -vvv 1
與進程相關
列出當前進程:
adb shell ps | findstr <包名>
殺死某個包的進程:
adb shell am force-stop <包名>
性能相關
獲取內存:
adb shell dumpsys meminfo <包名>
獲取 CPU:
adb shell dumpsys cpuinfo | findstr <包名>
adb shell top -n 1 | findstr <包名>
獲取流暢度相關:
adb shell dumpsys gfxinfo <包名>