原文地址:http://blog.csdn.net/lzx_bupt/article/details/5414741
adb 概述
SDK的Tools文件夾下包含着Android模擬器操作的重要命令adb,adb的全稱為(Android Debug Bridge就是調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序。借助這個工具,我們可以管理設備或手機模擬器的狀態。還可以進行以下的操作:
1、快速更新設備或手機模擬器中的代碼,如應用或Android 系統升級;
2、在設備上運行shell命令;
3、管理設備或手機模擬器上的預定端口;
4、在設備或手機模擬器上復制或粘貼文件;
adb在集成開發環境中的工作
adb的工作方式比較特殊采用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。
1.通過adb可以輕松的執行Linux Shell命令,如adb shell dir 就是列舉目錄,在Linux中根目錄為/而不是Windows上的C盤、D盤。
2.安裝apk程序到模擬器則執行adb install android123.apk,這樣名為android123的安裝包就會安裝到Android模擬器中,前提是android123.apk文件需要放到SDK/Tools目錄下。
3.向emulator傳送文件, 使用adb push android123.txt /tmp/android123.txt命令可以把SDK/Tools下的android123.txt文件傳輸到模擬器的/tmp/文件夾中,需要注意的是/tmp/文件夾中內容會在Android模擬器重新啟動時清空。
4.從Android仿真器中回傳文件到電腦
通過adb pull /tmp/android123.txt android123.txt命令就會把仿真器的tmp文件夾下android123.txt文件回傳到電腦SDK/Tools目錄下。
adb 常用命令
1、安裝應用到模擬器:
adb install <path_to_apk></path_to_apk>
卸載命令
adb uninstall com.***.***.**** 卸載命令參數必須是總包名
2、進入設備或模擬器的shell:
adb shell
通過上面的命令,就可以進入設備或模擬器的shell環境中,在這個Linux Shell中,你可以執行各種Linux的命令,另外如果只想執行一條 shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg會打印出內核的調試信息。
3、發布端口:
你可以設置任意的端口號,做為主機向模擬器或設備的請求端口。如:
adb forward tcp:5555 tcp:8000
4、復制文件:
你可向一個設備或從一個設備中復制文件,
復制一個文件或目錄到設備或模擬器上:
adb push <source> <destination></destination></source>
如:adb push test.txt /tmp/test.txt
從設備或模擬器上復制一個文件或目錄:
adb pull <source> <destination></destination></source>
如:adb pull /addroid/lib/libwebcore.so .
5、搜索模擬器/設備的實例:
取得當前運行的模擬器/設備的實例的列表及每個實例的狀態:
adb devices
6、查看bug報告:
adb bugreport
7、記錄無線通訊日志:
一般來說,無線通訊的日志非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設置記錄:
adb shell
logcat -b radio
8、獲取設備的ID和序列號:
adb get-product
adb get-serialno
9、訪問數據庫SQLite3
adb shell
sqlite3
------------------------------
一個窗口在adb shell里去重命名,
root@android:/sdcard/tencent/MicroMsg/Camera #
另一個窗口在adb shell里去復制
D:\Downloads>adb pull /sdcard/tencent/MicroMsg/Camera/1.jpg .
50 KB/s (74524 bytes in 1.447s)
D:\Downloads>adb pull /sdcard/tencent/MicroMsg/Camera/* .
remote object '/sdcard/tencent/MicroMsg/Camera/*' does not exist
D:\Downloads>adb pull /sdcard/tencent/MicroMsg/Camera/2.jpg .
64 KB/s (25696 bytes in 0.391s)
D:\Downloads>adb pull /sdcard/tencent/MicroMsg/Camera/3.jpg .
43 KB/s (33584 bytes in 0.749s)
----------------------------------------------------------
在Android開發中,有可能開多個模擬器,還有可能連着多台真實的開發機器。如果此時只用adb shell之類的命令是無法連接到任何設備上的。正確操作方法如下:
先用:adb devices命令查看所有設備的代號如命令結果如下:
emulator-5554
HTC91245667
此時只要用:adb -s emulator-5554 shell就可以連接到模擬器的shell環境。注意里面的-s參數。
----------------------------------------------------------------