天天看點

ADB常用操作

下載下傳sdk:

http://developer.android.com/sdk/index.html

ADB(Android Debug Bridge)是Android 提供的一個通用的調試工具,借助這個工具,我們可以管理裝置或手機模拟器的狀态還可以進行以下的操作:

a、快速更新裝置或手機模拟器中的代碼,如應用或Android系統更新;

b、在裝置上運作shell指令;

c、管理裝置或手機模拟器上的預定端口;

d、在裝置或手機模拟器上複制或粘貼檔案

ADB一些常用的操作:

進入Shell: adb shell

通過上面的指令,就可以進入裝置或模拟器的shell環境中,在這個Linux Shell中,你可以執行各種Linux 的指令,另外如果隻想執行一條shell指令,可以采用以下的方式:

adb shell [command]

如:adb shell dmesg會列印出核心的調試資訊。

(Android的linux shell做了大量精簡,很多linux常用指令都不支援)

上傳檔案: adb push

下載下傳檔案: adb pull

安裝程式: adb install

解除安裝軟體: adb shell rm /data/app/

補充一點,通過adb安裝的軟體(*.apk)都在”/data/app/”目錄下,是以安裝時不必制定路徑,解除安裝隻需要簡單的執行”rm”就行。

結束adb: adb kill-server

顯示android模拟器狀态:

adb devices (端口資訊)

adb get-product (裝置型号)

adb get-serialno (序列号)

等待正在運作的裝置: adb wait-for-device

端口轉發: adb forward adb forward tcp:5555 tcp:1234

(将預設端口TCP 5555轉發到1234端口上)

檢視bug報告: adb bugreport

adb shell sqlite3 通路資料庫SQLite3

adb shell logcat -b radio 記錄無線通訊日志: 一般來說,無線通訊的日志非常多,在運作時沒必要去記錄,但我們還是可以通過指令,設定記錄

應用程式配置檔案:

“AndroidManifest.xml”中

“”

決定是否應用程式是否顯示在Panel上

(2)am指令(在shell内使用am來加載android應用):

am [start|instrument]

am start [-a ]

[-d ]

[-t ]

[-c [-c ] …]

[-e [-e ...]

[-n ] [-D] []

am instrument [-e ]

[-p ]

[-w]

啟動浏覽器:

am start -a android.intent.action.VIEW -d http://www.google.cn/

撥打電話:

am start -a android.intent.action.CALL -d tel:10086

啟動google map直接定位到北京:

am start -a android.intent.action.VIEW geo:00?q=beijing

(3)為模拟器加上SD卡:

emulator -sdcard dcard.img

下面我們再來說說如何建立”sdcard.img”檔案:

“tools”目錄下還有另外一個很好用的工具mksdcard,一看名字就知道——make sdcard。對,就用它來建立一個“SD卡”。

指令為:

mksdcard 1024M D:dcard.img

OK這樣一個容量為1G的SD卡就建立完畢了。

使用SDCard:

建立: mksdcard

(bytes(default),K,M)

連接配接到模拟器: emulator -sdcard

傳檔案到SDCard: adb push

(4)Android模拟器打電話發短信

GPhone的模拟器有個特有的号碼:15555218135,這個就類似我們實體手機的SIM卡号碼啦。要實作撥号,用手機?當然不行!

更簡單,三步:

1.打開終端

2.連接配接: telnet localhost 5554(5554是你打開模拟器後上面顯示的數字)

3.指令:gsm call 15555218135

look!是不是模拟器上顯示來電了?接聽/挂斷和實體手機一樣。

發短信也一樣簡單,重複上面1,2兩步,第三部指令改一下:

sms send 15555218135 Hellothis is a Message.

4、Android模拟器主要指令參數介紹

emulator [- []] … [-]

下面的表總結了可用的參數

Help

-help列印模拟器參數清單。

-help-all列印所有啟動參數明細。

-help-列印指定啟動參數的資訊。

-help-debug-tags列印所有被-debug 打開的清單。

-help-disk-images列印正在使用的磁盤鏡像資訊。

-help-environment列印模拟器環境變量資訊。

-help-keys列印目前的鍵盤映射。

-help-keyset-file列印一個自定義的鍵盤映射檔案的定義。

Disk Images

-cache 使用 指定網絡緩存分區鏡像。

自定義,您可以指定一個目前工作目錄的相對路徑。如果沒有指定緩存檔案,模拟器會指定一個零時檔案作為緩存檔案。更多資訊請參考-help-disk-images.

-data 使用作為使用者資料磁盤鏡像。

自定義,您可以指定一個目前工作目錄的相對路徑。如果-data沒有被使用,模拟器會在指定的目錄下尋找名叫”userdata-qemu.img”的鏡像檔案。預設情況下,模拟器會尋找~/.android (on Linux/Mac)或者C:\Documents and Settings\\Local Settings\Application Data\Android (on Windows)。

如果您使用了-data ,但是檔案并不存在,模拟器将建立同名檔案。

更多資訊請參見運作多個模拟器執行個體和-help-disk-images。

-image 使用作為系統鏡像。

自定義,您可以指定一個目前工作目錄的相對路徑。預設為/system.img。

-initdata

重寫使用者資料鏡像時,(使用 -wipe-data),複制此檔案内容到新使用者資料檔案鏡像中。預設方式下,模拟器拷貝/userdata.img。

自定義,您可以指定一個目前工作目錄的相對路徑。參見-wipe-data。

更多資訊請參見-help-disk-images。

-kernel 使用作為模拟器核心。自定義,您可以指定一個目前工作目錄的相對路徑。

-nocache啟動模拟器時無緩存分區。參見-cache 。

-ramdisk 使用作為虛拟記憶體鏡像。預設為/ramdisk.img. 自定義,您可以指定一個目前工作目錄的相對路徑。更多資訊請參見-help-disk-images。

-sdcard 使用作為SD卡鏡像。預設為/sdcard.img. 自定義,您可以指定一個目前工作目錄的相對路徑。更多資訊請參見-help-disk-images。

-system 在指定的下搜尋系統、虛拟記憶體和使用者資料鏡像檔案。為目前路徑的相對目錄。

-wipe-data重至使用者資料鏡像檔案。(that is the file specified by -datadir and -data or the default file). 模拟器删除所有使用者資料,然後複制右-inidata參數指定的資料到鏡像檔案,在啟動之前。參見-initdata. 更多資訊請參見-help-disk-images。

Debug

-debug 開啟/關閉指定tag的調試資訊。

是一個被空格/逗号/縱列所分割的調試組建名稱清單。更多資訊參見-help-debug-tags。

-debug-開啟/關閉指定tag的調試資訊。使用-help-debug-tags獲得您可以指定為的調試元件清單。

-debug-no-關閉指定tag的調試資訊。

-logcat 打開指定tag的日志輸出。如果環境變量ANDROID_LOG_TAGS被指定且不為空,她的值将成為日志輸出的預設值。

-shell建立一個擁有root權限的指令行視窗。即使模拟器的UI界面無法使用了,您依然可以使用指令行視窗。按Ctr-c鍵中斷模拟器運作。

-shell-serial 打開具有root權限的腳本視窗。必須是一個QEMU類型的裝置。參見’serial -dev’在 http://www.bellard.org/qemu/qemu-doc.html#SEC10上關于裝置類型的清單資訊。這兒有一些例子:

· -shell-serial stdio is identical to -shell

· -shell-serial tcp::4444servernowait 讓您的shell可以通過4444端口通訊。

· -shell-serial fdpair:3:6 讓模拟器可以使用3 (in)和6(out)磁碟機。

· -shell-serial fdpair:0:1 uses the normal stdin and stdout fds except that QEMU won’t tty-cook the data.

-show-kernel 顯示核心資訊。

-trace Enable code profiling (press F9 to start) written to a specified file.

-verbose開啟冗長輸出。Equivalent to -debug-init. 您可以定義ANDROID_VERBOSE環境變量作為冗長輸出參數。定義你想用到的參數,用逗号分割。這樣可以省略像-debug-這樣的參數。下面是一個設定ANDROID_VERBOSE的例子,它帶有-debug-init和 -debug-modem 參數:

ANDROID_VERBOSE=initmodem更多資訊參見.

Media

-audio 使用指定的音頻後端。

-audio-in 使用指定的音頻輸入後端。

-audio-out 使用指定的音頻輸出後端。

-noaudio在目前虛拟機執行個體中關閉音頻支援。

-radio 重新定向收音機接口到本地的位元組裝置。

-useaudio打開模拟器執行個體的音頻支援。預設為打開。

Network

-dns-server 使用指定的DNS伺服器。必須是以逗号分割,多于4個的伺服器名或IP位址。

-http-proxy 配置TCP連接配接使用HTTP/HTTPS代理。

必須符合以下格式:http://:

http://:@: 字首http://可以被忽略。如果-http-proxy 未被指定,模拟器将尋找http_proxy環境變量,并且自動尋找所有符号格式要求的 值。

-netdelay 設定網絡延遲預設值為none。參見Network Delay Emulation中關于的值。

-netfast快捷的 -netspeed full -netdelay none

-netspeed 指定模拟器網絡速度為.預設值為full。參見表格Network Speed Emulation 中的值。

-port 指定模拟器網絡端口為.控制台端口号必須介于5554和5584之間,并且+1必須留作ADB使用。

-report-console 啟動前向第三方同志此模拟器執行個體的網絡端口。 必須是以下幾種格式

tcp:[server][max=]

unix:[server][max=]

更多資訊參見 -help-report-console

System

-cpu-delay 降低模拟器CPU的速度到。支援0到100的整數。注意與具體的時鐘或其他的絕對頻率無關。它隻表現為一種抽象的,相對于目前模拟器運作狀況的速度調節。

-gps 重定向NMEA GPS到位元組裝置。

使用此參數通知模拟器模拟一個NMEA-compatible GPS,連接配接到一個擴充的裝置或socket端口。格式必須符合QEMU-specific所指定的裝置格式。更多資訊參見’serial -dev’ 和 http://www.bellard.org/qemu/qemu-doc.html#SEC10.

-nojni在Dalvik運作時關閉JNI檢查

-qemu傳遞參數到qemu。

-qemu -h關閉qemu幫助。

-radio 重定向錄音機子產品到制定的字元裝置。格式必須符合QEMU規定的序列裝置。詳情參見http://www.bellard.org/qemu/qemu-doc.html#SEC10.

-timezone 設定模拟器時區為,替換為系統時區。必須按照時區格式指定。比如:”America/Los_Angeles”,”Europe/Paris”

-version顯示模拟器版本号。

UI

-dpi-device 修改模拟器的分辨率适配實體裝置。預設值為165。參見-scale.

-no-boot-anim關閉模拟器啟動時的動畫。禁用啟動動畫可以加快啟動速度。

-no-window關閉模拟器的繪制視窗。

-scale 調整模拟器視窗。 是介于0.1到3的數字,它是調整螢幕的比例因子。您也可以指定一個DPI值,在添加dpi字首的情況下。Auto參數告訴模拟器選擇自己最合适的尺寸。

-raw-keys關閉Unicode鍵盤reverse-mapping.

-noskin不使用任何模拟器皮膚。

-keyset 用指定的鍵盤設定檔案代替預設。指定宿主鍵盤和模拟器之間的鍵盤映射檔案。更多資訊參見-help-keyset。

-onion 用圖檔覆寫螢幕。不支援JPEG,隻支援PNG

-onion-alpha 指定onion皮膚透明值(百分比) 預設為50.

-onion-rotation 指定onion皮膚旋轉。 必須是 0 1 2 3中的一個。

-skin 啟動模拟器,搭配指定皮膚。

-skindir 在指定目錄下搜尋皮膚

繼續閱讀