adb介紹
SDK的Tools文件夾下包含著Android模擬器操作的重要命令adb,adb的全稱為(Android Debug Bridge就是調(diào)試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調(diào)試Android程序。借助這個工具,我們可以管理設(shè)備或手機(jī)模擬器的狀態(tài)。還可以進(jìn)行以下的操作:
1、快速更新設(shè)備或手機(jī)模擬器中的代碼,如應(yīng)用或Android 系統(tǒng)升級;
2、在設(shè)備上運(yùn)行shell命令;
3、管理設(shè)備或手機(jī)模擬器上的預(yù)定端口;
4、在設(shè)備或手機(jī)模擬器上復(fù)制或粘貼文件;
adb在集成開發(fā)環(huán)境中的工作
adb的工作方式比較特殊采用監(jiān)聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認(rèn)情況下adb會daemon相關(guān)的網(wǎng)絡(luò)端口,所以當(dāng)我們運(yùn)行Eclipse時adb進(jìn)程就會自動運(yùn)行。
1.通過adb可以輕松的執(zhí)行Linux Shell命令,如adb shell dir 就是列舉目錄,在Linux中根目錄為/而不是Windows上的C盤、D盤。
2.安裝apk程序到模擬器則執(zhí)行adb install android123.apk,這樣名為android123的安裝包就會安裝到Android模擬器中,前提是android123.apk文件需要放到SDK/Tools目錄下。
3.向emulator傳送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件傳輸?shù)侥M器的/tmp/文件夾中,需要注意的是/tmp/文件夾中內(nèi)容會在Android模擬器重新啟動時清空。
4.從Android仿真器中回傳文件到電腦
通過adb pull /tmp/android123.txt android123.txt命令就會把仿真器的tmp文件夾下android123.txt文件回傳到電腦SDK/Tools目錄下。
adb 常用命令大全
-
顯示系統(tǒng)中全部Android平臺:
android list targets
-
顯示系統(tǒng)中全部AVD(模擬器):
android list avd
-
創(chuàng)建AVD(模擬器):
android create avd --name 名稱 --target 平臺編號
-
啟動模擬器:
emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
-
刪除AVD(模擬器):
android delete avd --name 名稱
-
創(chuàng)建SDCard:
mksdcard 1024M ~/名稱.img
-
AVD(模擬器)所在位置:
Linux(~/.android/avd) Windows(C:\Documents and Settings\Administrator.android\avd)
-
啟動DDMS:
ddms
-
顯示當(dāng)前運(yùn)行的全部模擬器:
adb devices
-
對某一模擬器執(zhí)行命令:
adb -s 模擬器編號 命令
-
安裝應(yīng)用程序:
adb install -r 應(yīng)用程序.apk
-
獲取模擬器中的文件:
adb pull <remote> <local>
-
向模擬器中寫文件:
adb push <local> <remote>
-
進(jìn)入模擬器的shell模式:
adb shell
-
啟動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
-
啟動Activity:
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴(kuò)展數(shù)據(jù),等)。
23、發(fā)布端口:
你可以設(shè)置任意的端口號,做為主機(jī)向模擬器或設(shè)備的請求端口。如:
adb forward tcp:5555 tcp:8000
24、復(fù)制文件:
你可向一個設(shè)備或從一個設(shè)備中復(fù)制文件,
復(fù)制一個文件或目錄到設(shè)備或模擬器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
從設(shè)備或模擬器上復(fù)制一個文件或目錄:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
25、搜索模擬器/設(shè)備的實(shí)例:
取得當(dāng)前運(yùn)行的模擬器/設(shè)備的實(shí)例的列表及每個實(shí)例的狀態(tài):
adb devices
26、查看bug報(bào)告:
adb bugreport
27、記錄無線通訊日志:
一般來說,無線通訊的日志非常多,在運(yùn)行時沒必要去記錄,但我們還是可以通過命令,設(shè)置記錄:
adb shell
logcat -b radio
28、獲取設(shè)備的ID和序列號:
adb get-product
adb get-serialno
29、訪問數(shù)據(jù)庫SQLite3
adb shell
sqlite3