一、說明
adb的db是debug bridge而不是和gdb一樣指debug,這意思是說adb不能像gdb那樣能一步步調試代碼,但可以啟到一些類似調試的功能。
下面就針對這些功能進行介紹,本文根據官方文檔“http://adbshell.com/commands”整理而成。
這種爛大街的文章本不該再寫了,但無耐每次自己用都得搜索篩選一藩,索性寫下來權當就給自己看。
二、安裝
如果安裝了android sdk那么在sdk的platform-tools文件夾下就已經有adb了(使用時有點問題,我選擇直接去下了一個)。
如果沒有安裝android sdk,那么也可以直接下載adb,解壓即可使用。為了方便建議將解壓到的目錄加入環境變量。
三、使用
3.1 啟動調試設備
模擬器----直接啟動模擬手機
真機----通過usb線把手機接到電腦
3.2 查看當前有哪些設備
adb devices
第一列是設備序列號;其中“ip:port”組合的是模擬設備,“e6466a68”這種開頭的是usb連接上來的真實手機。
如果只有一台設備,那么所有下面介紹的命令會自動在該設備上執行,如果有多個設備那么需要通過-s指定設備序列號不然會報“error: more than one device/emulator”(adb -s device_serial_number command形式)。
為了方便,在介紹后續命令前我將關掉上圖中序列號為192.168.225.101:5555的模擬設備。
3.3 安裝軟件包
adb install /path/to/apk.apk
安裝時有些手機可能要在手機上點擊確認進行安裝,不然會拒絕安裝導致安裝失敗(報錯:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user)。
如果報錯“error: unknown host service”,那有可能是360手機助手等占用了連接,通過任務管理器將其關閉即可。
3.4 查看已安裝的軟件包
adb shell pm list packages
此時會列出手機中所有已安裝的轉件包,為了快速找到自己想要的軟件的包名,可以使用grep/findstr等命令進行過濾。
3.5 卸載已安裝軟件包
卸載不能通過安裝apk時的apk文件名進行卸卸,需要指定軟件完整包名進行卸載,包名可通過3.4介紹的辦法進行查找
adb uninstall package_name
3.6 查看apk數據存放位置
adb shell pm path package_name
3.7 清空apk數據
adb shell pm clear package_name
3.8 查看當前所在目錄
adb shell pwd
3.9 查看根目錄下有哪些文件(夾)
adb shell ls /
3.10 查看磁盤掛載情況
adb shell df -h
3.11 上傳文件到手機
adb push /local/path/to/file/filename /phone/file/path/to/save
路徑linux用斜框windows用反斜杠
3.12 從手機下載文件到本地
adb pull /phone/path/to/file/filename /local/file/path/to/save
3.13 執行其他linux命令
要執行諸如cd、rm、mkdir、touch、cp、mv等等命令,都使用以下格式即可;如要帶參數和在shell中使用一樣直接帶后面即可
adb shell command parameters
當然也可以直接使用adb shell進入交互shell,不用每次都帶abd shell頭;退出使用exit。如下圖所示:
不過有些命令使用adb shell形式和進入交互shell形式,輸出是不一樣的,沒有深究。
3.14 查看系統參數
adb shell dumpsys system_parameter
參考:
https://blog.csdn.net/gaojinshan/article/details/9455193