2009年5月6日 星期三

Android模擬器adb命令介紹

在SDK的Tools文件夾下包含着Android模擬器操作的重要命令adb,adb的全稱為(Android Debug Bridge就是調試橋的作用。通過adb我們可以在Eclipse中方面通過DDMS來調試Android程序,說白了就是debug工具。

adb的工作方式比較特殊採用監聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認情況下adb會daemon相關的網絡端口,所以當我們運行Eclipse時adb進程就會自動運行。

1.通過adb可以輕鬆的執行Linux Shell命令,進入設備或模擬器的shell:adb shell就可以進入模擬器的shell環境中。也可以執行各種Linux的命令,其命令格式為:
adb shell command
範例:
adb shell dir 就是列舉目錄,在Linux中根目錄為/而不是Windows上的C磁碟、D磁碟
adb shell dmesg 會列印出Linux的debug訊息。
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模擬器新啟動時清空。除了說明了使用ADT插件中DDMS外。
4.從Android模擬器中回傳文件到電腦
通過>adb pull /tmp/android123.txt android123.txt命令就會把模擬器的tmp文件夾下android123.txt文件回傳到電腦SDK\Tools目錄下。

繼續android adb命令相關介紹,除了可以方便的安裝apk文件、pc和Android模擬器互傳資料外還有Android Debug Bridge一些輔助的功能。
1.如果在Eclipse中發現有* daemon not running. starting it now *的提示可以結束adb
adb kill-server

2.顯示android模擬器狀態
adb devices 端口號等信息,執行後會顯示TCP端口號
adb get-product 獲取設備型號
adb get-serialno 獲取序列號

3.等待正在運行的設備
adb wait-for-device

4.端口轉發
adb forward adb forward tcp:5555 tcp:1234 實現將默認的TCP 5555端口轉發到1234端口上

5.查看bug報告
adb bugreport
Android - How to mount the SDCard image file to Android Emulator

(1)首先必須產生SDCard的image file
mksdcard: create a blank FAT32 image to be used with the Android emulator
usage: mksdcard [-l label]
if is a simple integer, it specifies a size in bytes
if is an integer followed by 'K', it specifies a size in KiB
if is an integer followed by 'M', it specifies a size in MiB

ex:mksdcard 1024M sdcard.iso

(2)讓SDCard連到Android Emulator
a:./emulator -sdcard ~/.android/SDK-1.0/sdcard.iso
b:用Eclipse中設定程式的Open Run Dialog裏,Target頁籤的Aditional Emulator Command Line Option中加入啟動參數 -sdcard scard.iso

(3)透過adb傳收檔案到emulator
adb push
adb pull
ex:
adb push ~/mp3/audio.mp3 /sdcard/audio.mp3

linux底下也可以使用,來管理
mount -o loop sdcard.img android_sdcard

(4)進入emulator的shell
adb shell


轉載自:http://stenlyho.blogspot.com/2008/11/androidadb.html

沒有留言:

張貼留言