adb 命令介紹

參考:

http://jingyan.baidu.com/article/fcb5aff7f55c63edab4a7174.html

http://blog.csdn.net/manshq163com/article/details/7594709

http://blog.sina.com.cn/s/blog_91f9ff140101733o.html

1 安裝adb

1.1 SDK自帶:

adb工具在android-sdk/platform-tools/下,將該目錄加入環境變量即可使用;

1.2 Ubuntu式安裝:

sudo apt-get install android-tools-adb

 

2 adb常用命令:

2.1 安裝軟件 卸載軟件

adb install <apk文件路徑>

adb uninstall <軟件名>

2.2 登錄設備shell

adb shell        

adb shell <command命令>  這個命令將登錄設備的shell. 後面加<command命令>將是直接運行設備命令, 相當於執行遠程命令

adb -s 設備號 shell    多個設備時

2.3 從電腦上發送文件到設備

adb push <本地路徑> <遠程路徑>

用push命令可以把本機電腦上的文件或者文件夾複製到設備(手機)

2.4 從設備上下載文件到電腦

adb pull <遠程路徑> <本地路徑>

用pull命令可以把設備(手機)上的文件或者文件夾複製到本機電腦

2.5 取得設備root權限

adb remount 將system分區重新掛載爲可讀寫分區

2.6  查看設備

 adb devices

這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示

2.7 打日誌

adb logcat

2.8 重定向

adb forward tcp:6100 tcp:7100

PC上所有6100端口通信數據將被重定向到手機端7100端口server上

adb forward <local> <remote>發佈端口,可以設置任意的端口號,做爲主機向模擬器或設備的請求端口。如:adb forward tcp:5555 tcp:8000

3.9 管理adb服務

adb kill-server 終止adb服務進程

adb start-server 重啓adb服務進程

adb root 已root權限重啓adb服務

3.10 管理設備

adb reboot 重啓手機

3.11 返回bug日誌中的所有信息

adb bugreport

3.12 查看JDWP信息

adb jdwp 查看指定的設施的可用的.

可以用 forward jdwp:<pid> 端口映射信息來連接指定的JDWP進程

 

3 adb高級命令:

3.1 查看設備連接狀態 系列

adb get-serialno 獲取設備的ID和序列號serialNumber

adb devices 查詢當前計算機上連接那些設備(包括模擬器和手機),輸出格式: [serialNumber] [state]

adb get-state 查看模擬器/設施的當前狀態.

說明:

序列號[serialNumber]——由adb創建的一個字符串,這個字符串通過自己的控制端口<type>-<consolePort> 

唯一地識別一個模擬器/設備實例。一個序列號的例子: emulator-5554

3.2 發送命令到設備 系列

adb [-d|-e|-s <serialNumber>] <command>

-d 發送命令給usb連接的設備

-e 發送命令到模擬器設備

-s <serialNumber> 發送命令到指定設備

如啓動手機設備shell: adb -d shell

3.3 安裝卸載 系列

adb install d:\hello.apk

adb unstall com.huawei.hello

說明:如果帶-r選項重新安裝apk時,安裝在 /data/local/tmp/目錄下,手機重啓後還是使用原來的apk.

3.4 基本linux shell命令 系列

adb shell [command]

ls 列出目錄下的文件和文件夾

cd 切換目錄

rm 刪除目錄和文件

cat 查看文件內容

ps 可以看那個進程再跑

ps -x [PID] 查看單個進程的狀態

top 可以看那個進程的佔用率最高

su 切換到root用戶

kill [pid] 殺死一個進程

chmod 777 <file> 修改該文件爲可執行權限 詳細使用情況可以登錄一臺Linux服務器在shell下查看幫助手冊, man <command>

adb shell am 命令可以啓動應用程序

adb shell input text <string> 向設備輸入文本(光標所在的文本框)

adb shell input keyevent <event_code> 向設備發送按鍵事件  event_code 參考view/KeyEvent.java中的 KEYCODE_*

3.5 查看系統狀態和信息 系列

adb shell procrank 查詢各進程內存使用情況

adb shell service list 查看services信息

adb shell cat /proc/meminfo 查看當前的內存情況

adb shell cat /proc/cpuinfo 查看CPU信息(硬件)

adb shell cat /proc/iomem 查看IO內存分區

adb shell getprop 列出系統所有屬性

adb shell getprop | findstr "gsm" 列出包含gsm的屬性

adb shell setprop <key> <value> 修改系統屬性

adb shell sqlite3 可以執行sql語句查看數據庫信息, 具體使用情況待調查

adb shell dmesg 查詢內核緩衝區信息

adb shell dumpstate 各類信息,比如進程信息,內存信息,進程是否異常,kernnel的log等

adb shell dumpcrash

adb shell dumpsys 查詢所有service的狀態

3.6 Log 系列

adb logcat [ <filter-spec> ] - View device log

3.6.1 查看可用日誌緩衝區:

adb logcat -b radio — 查看緩衝區的相關的信息.

adb logcat -b events — 查看和事件相關的的緩衝區.

adb logcat -b main — 查看主要的日誌緩衝區

3.6.2 過濾日誌輸出:

過濾器語句按照下面的格式描tag:priority ... , tag 表示是標籤, priority 是表示標籤的報告的最低等級

adb logcat *:W 顯示優先級爲warning或更高的日誌信息

adb logcat ActivityManager:I MyApp:D *:S

日誌的標籤是系統部件原始信息的一個簡要的標誌。(比如:“View”就是查看系統的標籤).優先級有下列集中,是按照從低到高順利排列的:

V — Verbose (lowest priority)

D — DebugI — Info

W — Warning

E — Error

F — Fatal

S — Silent (highest priority, on which nothing is ever printed)

如果你電腦上運行logcat ,相比在遠程adbshell端,你還可以爲環境變量ANDROID_LOG_TAGS :輸入一個參數來設置默認的過濾

export ANDROID_LOG_TAGS="ActivityManager:I MyApp:D *:S"

需要注意的是ANDROID_LOG_TAGS 過濾器如果通過遠程shell運行logcat 或用adb shell logcat 來運行模擬器/設備不能輸出日誌.

3.6.3 控制日誌輸出格式:

日誌信息包括了許多元數據域包括標籤和優先級。可以修改日誌的輸出格式,所以可以顯示出特定的元數據域。可以通過 -v 選項得到格式化輸出日誌的相關信息.

brief — Display priority/tag and PID of originating process (the default format).

process — Display PID only.

tag — Display the priority/tag only.

thread — Display process:thread and priority/tag only.

raw — Display the raw log message, with no other metadata fields.

time — Display the date, invocation time, priority/tag, and PID of the originating process.

long — Display all metadata fields and separate messages with a blank lines.

當啓動了logcat ,你可以通過-v 選項來指定輸出格式:[adb] logcat [-v <format>]

下面是用 thread 來產生的日誌格式:  adb logcat -v thread  

需要注意的是你只能-v 選項來規定輸出格式 option.

3.6.4 Logcat 選項列表

-b <buffer> 加載一個可使用的日誌緩衝區供查看,比如event 和radio . 默認值是main 。具體查看Viewing Alternative Log Buffers.

-c 清楚屏幕上的日誌.

-d 輸出日誌到屏幕上.

-f <filename> 指定輸出日誌信息的<filename> ,默認是stdout .

-g 輸出指定的日誌緩衝區,輸出後退出.

-n <count> 設置日誌的最大數目<count> .,默認值是4,需要和 -r 選項一起使用。

-r <kbytes> 每<kbytes> 時輸出日誌,默認值爲16,需要和-f 選項一起使用.

-s 設置默認的過濾級別爲silent.

-v <format> 設置日誌輸入格式,默認的是brief 格式,要知道更多的支持的格式,參看Controlling Log Output Format


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章