警言:慎終如始!
調(diào)試Android程序有時(shí)需要adb shell 命令,adb全稱Android Debug Bridge ,就是起到調(diào)試橋的作用。通過adb我們可以在Eclipse中通過DDMS來調(diào)試Android程序,說白了就是debug工具。adb通過監(jiān)聽Socket TCP 5554等端口讓IDE和Qemu通訊。默認(rèn)情況下當(dāng)我們運(yùn)行Eclipse時(shí)adb進(jìn)程就會(huì)自動(dòng)運(yùn)行。adb是一個(gè)C/S模式的程序,由三個(gè)部分組成:a client,a server and a daemon。其中client和server運(yùn)行在的development machine上,daemon運(yùn)行在emulator或設(shè)備上。
adb一般位于/platform-tools/目錄下,其中是android sdk的安裝目錄??梢园補(bǔ)db 路徑添加進(jìn)系統(tǒng)環(huán)境變量path里面,例:D:\sdk\platform-tools;這樣就能在打開powershell時(shí)就能響應(yīng)adb命令,不用每次都進(jìn)入adb目錄。以下是常用adb命令
adb 常用命令大全
顯示系統(tǒng)中全部Android平臺(tái):
android list targets
顯示系統(tǒng)中全部AVD(模擬器):
android list avd
創(chuàng)建AVD(模擬器):
android create avd –name 名稱 –target 平臺(tái)編號(hào)
啟動(dòng)模擬器:
emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280×800)
刪除AVD(模擬器):
android delete avd –name 名稱
創(chuàng)建SDCard:
mksdcard 1024M ~/名稱.img
AVD(模擬器)所在位置:
Linux(~/.android/avd)? ? ? Windows(C:\Documents and Settings\Administrator\.android\avd)
啟動(dòng)DDMS:
ddms
顯示當(dāng)前運(yùn)行的全部模擬器:
adb devices
對(duì)某一模擬器執(zhí)行命令:
abd -s 模擬器編號(hào) 命令
安裝應(yīng)用程序:
adb install -r 應(yīng)用程序.apk
獲取模擬器中的文件:
adb pull
向模擬器中寫文件:
adb push
進(jìn)入模擬器的shell模式:
adb shell
啟動(dòng)SDK,文檔,實(shí)例下載管理器:
android
缷載apk包:
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
查看adb命令幫助信息:
adb help
在命令行中查看LOG信息:
adb logcat -s 標(biāo)簽名
adb shell后面跟的命令主要來自:
源碼\system\core\toolbox目錄和源碼\frameworks\base\cmds目錄。
刪除系統(tǒng)應(yīng)用:
adb remount (重新掛載系統(tǒng)分區(qū),使系統(tǒng)分區(qū)重新可寫)。
adb shell
cd system/app
rm *.apk
獲取管理員權(quán)限:
adb root
啟動(dòng)Activity:
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴(kuò)展數(shù)據(jù),等)。
發(fā)布端口:
你可以設(shè)置任意的端口號(hào),做為主機(jī)向模擬器或設(shè)備的請(qǐng)求端口。如:
adb forward tcp:5555 tcp:8000
復(fù)制文件:
你可向一個(gè)設(shè)備或從一個(gè)設(shè)備中復(fù)制文件,
復(fù)制一個(gè)文件或目錄到設(shè)備或模擬器上:
adb push
如:adb push test.txt /tmp/test.txt
從設(shè)備或模擬器上復(fù)制一個(gè)文件或目錄:
adb pull
如:adb pull /addroid/lib/libwebcore.so .
搜索模擬器/設(shè)備的實(shí)例:
取得當(dāng)前運(yùn)行的模擬器/設(shè)備的實(shí)例的列表及每個(gè)實(shí)例的狀態(tài):
adb devices
查看bug報(bào)告:
adb bugreport
記錄無線通訊日志:
一般來說,無線通訊的日志非常多,在運(yùn)行時(shí)沒必要去記錄,但我們還是可以通過命令,設(shè)置記錄:
adb shell
logcat -b radio
獲取設(shè)備的ID和序列號(hào):
adb get-product
adb get-serialno
訪問數(shù)據(jù)庫SQLite3
adb shell
sqlite3
cd system/sd/data //進(jìn)入系統(tǒng)內(nèi)指定文件夾
ls //列表顯示當(dāng)前文件夾內(nèi)容
rm -r xxx //刪除名字為xxx的文件夾及其里面的所有文件
rm xxx //刪除文件xxx
rmdir xxx //刪除xxx的文件夾
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 希望小伙伴們多多支持(如有錯(cuò)誤,希望指出)