adb的db是debug bridge而不是和gdb同樣指debug,這意思是說adb不能像gdb那樣能一步步調試代碼,但能夠啓到一些相似調試的功能。linux
下面就針對這些功能進行介紹,本文根據官方文檔「http://adbshell.com/commands」整理而成。android
這種爛大街的文章本不應再寫了,但無耐每次本身用都得搜索篩選一藩,索性寫下來權當就給本身看。shell
若是安裝了android sdk那麼在sdk的platform-tools文件夾下就已經有adb了(使用時有點問題,我選擇直接去下了一個)。windows
若是沒有安裝android sdk,那麼也能夠直接下載adb,解壓便可使用。爲了方便建議將解壓到的目錄加入環境變量。spa
模擬器----直接啓動模擬手機.net
真機----經過usb線把手機接到電腦debug
adb devices
第一列是設備序列號;其中「ip:port」組合的是模擬設備,「e6466a68」這種開頭的是usb鏈接上來的真實手機。調試
若是隻有一臺設備,那麼全部下面介紹的命令會自動在該設備上執行,若是有多個設備那麼須要經過-s指定設備序列號否則會報「error: more than one device/emulator」(adb -s device_serial_number command形式)。code
爲了方便,在介紹後續命令前我將關掉上圖中序列號爲192.168.225.101:5555的模擬設備。orm
adb install /path/to/apk.apk
安裝時有些手機可能要在手機上點擊確認進行安裝,否則會拒絕安裝致使安裝失敗(報錯:INSTALL_FAILED_USER_RESTRICTED: Install canceled by user)。
若是報錯「error: unknown host service」,那有多是360手機助手等佔用了鏈接,經過任務管理器將其關閉便可。
adb shell pm list packages
此時會列出手機中全部已安裝的轉件包,爲了快速找到本身想要的軟件的包名,可使用grep/findstr等命令進行過濾。
卸載不能經過安裝apk時的apk文件名進行卸卸,須要指定軟件完整包名進行卸載,包名可經過3.4介紹的辦法進行查找
adb uninstall package_name
adb shell pm path package_name
adb shell pm clear package_name
adb shell pwd
adb shell ls /
adb shell df -h
adb push /local/path/to/file/filename /phone/file/path/to/save
路徑linux用斜框windows用反斜槓
adb pull /phone/path/to/file/filename /local/file/path/to/save
要執行諸如cd、rm、mkdir、touch、cp、mv等等命令,都使用如下格式便可;如要帶參數和在shell中使用同樣直接帶後面便可
adb shell command parameters
固然也能夠直接使用adb shell進入交互shell,不用每次都帶abd shell頭;退出使用exit。以下圖所示:
不過有些命令使用adb shell形式和進入交互shell形式,輸出是不同的,沒有深究。
adb shell dumpsys system_parameter
參考: