Android app ADB命令


* 查看設備

adb devices

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

若有多台安卓設備,可以通過在adb后面加上 -s <設備id> 對指定設備進行裝包、卸載等操作

 

*啟動adb

adb start-server

 

*關閉adb

adb kill-server

 

* 安裝軟件

adb install <apk文件路徑>

 

* 卸載軟件 

adb uninstall <應用進程名>

 

*卸載app但保留數據和緩存文件

adb uninstall -k<package>

 

*重新啟動設別

adb reboot

 

*重啟到bootloader,即刷機模式

adb reboot bootloader

 

*重啟到recovery,即恢復模式

adb reboot recovery

 

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

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

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

 

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

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

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

 

*取得設備root權限

adb remount

  

*登錄設備shell

adb shell

adb shell<command命令>

ps: adb shell 后面加的是linux系統操作指令,也即直接運行設備命令, 相當於執行遠程命令

-查看手機產線版本

adb shellcat/sys/devices/mx_tsp/appid

-查看手機運營商版本

adb shellcat/proc/lk_info/sw_version

-查看手機是否加密

adb shellcat/proc/lk_info/sec(返回0則非加密。1則加密)

-查看手機型號

adb shell getpropro.build.product

-安卓版本

adb shell getpropversion.release

-查看flyme版本

adb shell getpropro.build.display.id

 

*使用adb命令對手機進行截屏並拷貝到電腦

adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到手機)

adb pull /sdcard/screenshot.png d:/screenshot.png(拷貝到電腦)

 

*錄制設備屏幕

adb shell screenrecord--bugreport /sdcard/xxx.mp4

 

*查看性能

adb shell dumpstate

ps其輸出內容主要包括以下內容

a.設備基本信息

b.內存使用情況

c.CPU使用情況

d./proc文件夾中保存的系統各種實時信息,特別是內存使用方面的詳細信息,如用procrank命令獲取的按內存使用率情況排序的進程列表

e.內核的一些信息

f.進程列表

g.各種進程中的線程列表以及各線程的堆棧信息

h.各進程打開的文件

i.Logcat中的三個環狀日志的內容,分別是系統主日志SYSTEM、事件日志EVENT和無線電日志RADIO

j.網絡相關的信息

k.df命令輸入的文件系統使用率信息

l.系統中安裝的應用包信息

m.dumpsys命令輸出的信息

n.正在運行的應用列表

o.正在運行的服務列表

p.正在運行的內容供應組件列表

 

*輸出當前servers信息

adb shell dumpsys 

ps: 輸出信息的開始部分就是所有運行的service

-查詢到運行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。

adb shell dumpsys activity

adb shell dumpsys cpuinfo(CPU)

adb shell dumpsys batterystate(電池)

adb shell dumpsys window(分辨率)

 

*檢測手機運行時間

adb shell uptime

 

*查看logcat日志

adb logcat -v time-s tag > xxx.log

ps: 其中-v time使輸出的日志帶時間信息,-s用於通過tag過濾日志(也可以通過管道grep過濾),> 使保存到本地文件。若直接在終端查看日志,則不加。

adb logcat | grep <正則表達式>

ps: grep后為正則表達式

adb logcat | grep <正則表達式> | tee xxx.log

ps:使用 tee可以實現同時在終端輸出且保存到文件

 

*模擬系統按鍵

adb shell inputkeyevent <數值>

具體數值對應的按鍵如下

0 -->  "KEYCODE_UNKNOWN"

1 -->  "KEYCODE_MENU"

2 -->  "KEYCODE_SOFT_RIGHT"

3 -->  "KEYCODE_HOME"

4 -->  "KEYCODE_BACK"

5 -->  "KEYCODE_CALL"

6 -->  "KEYCODE_ENDCALL"

7 -->  "KEYCODE_0"

8 -->  "KEYCODE_1"

9 -->  "KEYCODE_2"

10 -->  "KEYCODE_3"

11 -->  "KEYCODE_4"

12 -->  "KEYCODE_5"

13 -->  "KEYCODE_6"

14 -->  "KEYCODE_7"

15 -->  "KEYCODE_8"

16 -->  "KEYCODE_9"

17 -->  "KEYCODE_STAR"

18 -->  "KEYCODE_POUND"

19 -->  "KEYCODE_DPAD_UP"

20 -->  "KEYCODE_DPAD_DOWN"

21 -->  "KEYCODE_DPAD_LEFT"

22 -->  "KEYCODE_DPAD_RIGHT"

23 -->  "KEYCODE_DPAD_CENTER"

24 -->  "KEYCODE_VOLUME_UP"

25 -->  "KEYCODE_VOLUME_DOWN"

26 -->  "KEYCODE_POWER"

27 -->  "KEYCODE_CAMERA"

28 -->  "KEYCODE_CLEAR"

29 -->  "KEYCODE_A"

30 -->  "KEYCODE_B"

31 -->  "KEYCODE_C"

32 -->  "KEYCODE_D"

33 -->  "KEYCODE_E"

34 -->  "KEYCODE_F"

35 -->  "KEYCODE_G"

36 -->  "KEYCODE_H"

37 -->  "KEYCODE_I"

38 -->  "KEYCODE_J"

39 -->  "KEYCODE_K"

40 -->  "KEYCODE_L"

41 -->  "KEYCODE_M"

42 -->  "KEYCODE_N"

43 -->  "KEYCODE_O"

44 -->  "KEYCODE_P"

45 -->  "KEYCODE_Q"

46 -->  "KEYCODE_R"

47 -->  "KEYCODE_S"

48 -->  "KEYCODE_T"

49 -->  "KEYCODE_U"

50 -->  "KEYCODE_V"

51 -->  "KEYCODE_W"

52 -->  "KEYCODE_X"

53 -->  "KEYCODE_Y"

54 -->  "KEYCODE_Z"

55 -->  "KEYCODE_COMMA"

56 -->  "KEYCODE_PERIOD"

57 -->  "KEYCODE_ALT_LEFT"

58 -->  "KEYCODE_ALT_RIGHT"

59 -->  "KEYCODE_SHIFT_LEFT"

60 -->  "KEYCODE_SHIFT_RIGHT"

61 -->  "KEYCODE_TAB"

62 -->  "KEYCODE_SPACE"

63 -->  "KEYCODE_SYM"

64 -->  "KEYCODE_EXPLORER"

65 -->  "KEYCODE_ENVELOPE"

66 -->  "KEYCODE_ENTER"

67 -->  "KEYCODE_DEL"

68 -->  "KEYCODE_GRAVE"

69 -->  "KEYCODE_MINUS"

70 -->  "KEYCODE_EQUALS"

71 -->  "KEYCODE_LEFT_BRACKET"

72 -->  "KEYCODE_RIGHT_BRACKET"

73 -->  "KEYCODE_BACKSLASH"

74 -->  "KEYCODE_SEMICOLON"

75 -->  "KEYCODE_APOSTROPHE"

76 -->  "KEYCODE_SLASH"

77 -->  "KEYCODE_AT"

78 -->  "KEYCODE_NUM"

79 -->  "KEYCODE_HEADSETHOOK"

80 -->  "KEYCODE_FOCUS"

81 -->  "KEYCODE_PLUS"

82 -->  "KEYCODE_MENU"

83 -->  "KEYCODE_NOTIFICATION"

84 -->  "KEYCODE_SEARCH"

85 -->  "TAG_LAST_KEYCODE"

所以,adb shell input keyevent 4 為返回系統主頁,adb shell input keyevent 24 為增加音量

 

*強制殺死進程

adb shell amforce-stop <進程名>

 

*啟動指定Activity

adb shell am start-n <進程名> /<Acitvity>

 

*開關wifi

adb shell svc wifienable #打開wifi

adb shell svc wifidisable #關閉wifi

 

*查看wifi密碼

adb shell cat/data/misc/wifi/*.conf

 

*獲取序列號

adb get-serialno

 

*查看設備cpu和內存占用情況

adb shell top

 

*查看占用內存前6的app

adb shell top -m 6

 

*刷新一次內存信息,然后返回

adb shell top -n 1

 

*查詢各進程內存使用情況

adb shell procrank

 

*殺死一個進程

adb shell kill[pid]

 

*查看進程列表

adb shell ps

 

*查看指定進程狀態

adb shell ps -x[PID]

 

*查看后台services信息

adb shell servicelist

 

*查看當前內存占用

adb shell cat/proc/meminfo

 

*查看IO內存分區

adb shell cat/proc/iomem

 

*重命名文件

adb shell rename <原文件名> <修改后文件名>

 

*刪除system/avi.apk

adb shell rm/system/avi.apk

 

*刪除文件夾及其下面所有文件

adb shell rm -r<文件夾>

 

*移動文件

adb shell mv <原文件路徑> <移動后文件路徑>

 

*設置文件權限

adb shell chmod 777<文件>

 

*新建文件夾

adb shell mkdirpath/foldelname

 

*查看文件內容

adb shell cat<file>

 

*清除log緩存

adb logcat -c

 

*查看bug報告

adb bugreport

 

*獲取設備名稱

adb shell cat/system/build.prop

 

*查看ADB幫助

adb help

 

*跑monkey

adb shell monkey -v-p <進程名> <次數>

 

*當adb 顯示端口被占用,拒絕訪問時的處理辦法:

adb nodaemon server//查看哪個端口被占用

netstat -ano |findstr "<端口號>" //提示占用該端口的進程(非0地址)

(下面步驟可省略,可通過任務管理器殺死)

tasklist /fi “PIDeq <進程號>”//通過pid查看所有進程

taskkill /pid <進程號> /f//殺死進程

* 查看設備adb devicesps這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示若有多台安卓設備,可以通過在adb后面加上 -s <設備id> 對指定設備進行裝包、卸載等操作
*啟動adbadb start-server
*關閉adbadb kill-server
* 安裝軟件adb install <apk文件路徑>
* 卸載軟件 adb uninstall <應用進程名>
*卸載app但保留數據和緩存文件adb uninstall -k<package>
*重新啟動設別adb reboot
*重啟到bootloader,即刷機模式adb reboot bootloader
*重啟到recovery,即恢復模式adb reboot recovery
*從電腦上發送文件到設備adb push <本地路徑> <遠程路徑>ps: 用push命令可以把本機電腦上的文件或者文件夾復制到設備(手機)
*從設備上下載文件到電腦adb pull <遠程路徑> <本地路徑>ps: 用pull命令可以把設備(手機)上的文件或者文件夾復制到本機電腦
*取得設備root權限adb remount  *登錄設備shelladb shelladb shell<command命令>ps: adb shell 后面加的是linux系統操作指令,也即直接運行設備命令, 相當於執行遠程命令-查看手機產線版本adb shellcat/sys/devices/mx_tsp/appid-查看手機運營商版本adb shellcat/proc/lk_info/sw_version-查看手機是否加密adb shellcat/proc/lk_info/sec(返回0則非加密。1則加密)-查看手機型號adb shell getpropro.build.product-安卓版本adb shell getpropversion.release-查看flyme版本adb shell getpropro.build.display.id
*使用adb命令對手機進行截屏並拷貝到電腦adb shell /system/bin/screencap -p /sdcard/screenshot.png(保存到手機)adb pull /sdcard/screenshot.png d:/screenshot.png(拷貝到電腦)
*錄制設備屏幕adb shell screenrecord--bugreport /sdcard/xxx.mp4
*查看性能adb shell dumpstateps其輸出內容主要包括以下內容a.設備基本信息b.內存使用情況c.CPU使用情況d./proc文件夾中保存的系統各種實時信息,特別是內存使用方面的詳細信息,如用procrank命令獲取的按內存使用率情況排序的進程列表e.內核的一些信息f.進程列表g.各種進程中的線程列表以及各線程的堆棧信息h.各進程打開的文件i.Logcat中的三個環狀日志的內容,分別是系統主日志SYSTEM、事件日志EVENT和無線電日志RADIOj.網絡相關的信息k.df命令輸入的文件系統使用率信息l.系統中安裝的應用包信息m.dumpsys命令輸出的信息n.正在運行的應用列表o.正在運行的服務列表p.正在運行的內容供應組件列表
*輸出當前servers信息adb shell dumpsys ps: 輸出信息的開始部分就是所有運行的service-查詢到運行的system service后,就可以在dumpsys后面加上service的名字,查看指定的service信息。adb shell dumpsys activityadb shell dumpsys cpuinfo(CPU)adb shell dumpsys batterystate(電池)adb shell dumpsys window(分辨率)
*檢測手機運行時間adb shell uptime
*查看logcat日志adb logcat -v time-s tag > xxx.logps: 其中-v time使輸出的日志帶時間信息,-s用於通過tag過濾日志(也可以通過管道grep過濾),> 使保存到本地文件。若直接在終端查看日志,則不加。adb logcat | grep <正則表達式>ps: grep后為正則表達式adb logcat | grep <正則表達式> | tee xxx.logps:使用 tee可以實現同時在終端輸出且保存到文件
*模擬系統按鍵adb shell inputkeyevent <數值>具體數值對應的按鍵如下0 -->  "KEYCODE_UNKNOWN"1 -->  "KEYCODE_MENU"2 -->  "KEYCODE_SOFT_RIGHT"3 -->  "KEYCODE_HOME"4 -->  "KEYCODE_BACK"5 -->  "KEYCODE_CALL"6 -->  "KEYCODE_ENDCALL"7 -->  "KEYCODE_0"8 -->  "KEYCODE_1"9 -->  "KEYCODE_2"10 -->  "KEYCODE_3"11 -->  "KEYCODE_4"12 -->  "KEYCODE_5"13 -->  "KEYCODE_6"14 -->  "KEYCODE_7"15 -->  "KEYCODE_8"16 -->  "KEYCODE_9"17 -->  "KEYCODE_STAR"18 -->  "KEYCODE_POUND"19 -->  "KEYCODE_DPAD_UP"20 -->  "KEYCODE_DPAD_DOWN"21 -->  "KEYCODE_DPAD_LEFT"22 -->  "KEYCODE_DPAD_RIGHT"23 -->  "KEYCODE_DPAD_CENTER"24 -->  "KEYCODE_VOLUME_UP"25 -->  "KEYCODE_VOLUME_DOWN"26 -->  "KEYCODE_POWER"27 -->  "KEYCODE_CAMERA"28 -->  "KEYCODE_CLEAR"29 -->  "KEYCODE_A"30 -->  "KEYCODE_B"31 -->  "KEYCODE_C"32 -->  "KEYCODE_D"33 -->  "KEYCODE_E"34 -->  "KEYCODE_F"35 -->  "KEYCODE_G"36 -->  "KEYCODE_H"37 -->  "KEYCODE_I"38 -->  "KEYCODE_J"39 -->  "KEYCODE_K"40 -->  "KEYCODE_L"41 -->  "KEYCODE_M"42 -->  "KEYCODE_N"43 -->  "KEYCODE_O"44 -->  "KEYCODE_P"45 -->  "KEYCODE_Q"46 -->  "KEYCODE_R"47 -->  "KEYCODE_S"48 -->  "KEYCODE_T"49 -->  "KEYCODE_U"50 -->  "KEYCODE_V"51 -->  "KEYCODE_W"52 -->  "KEYCODE_X"53 -->  "KEYCODE_Y"54 -->  "KEYCODE_Z"55 -->  "KEYCODE_COMMA"56 -->  "KEYCODE_PERIOD"57 -->  "KEYCODE_ALT_LEFT"58 -->  "KEYCODE_ALT_RIGHT"59 -->  "KEYCODE_SHIFT_LEFT"60 -->  "KEYCODE_SHIFT_RIGHT"61 -->  "KEYCODE_TAB"62 -->  "KEYCODE_SPACE"63 -->  "KEYCODE_SYM"64 -->  "KEYCODE_EXPLORER"65 -->  "KEYCODE_ENVELOPE"66 -->  "KEYCODE_ENTER"67 -->  "KEYCODE_DEL"68 -->  "KEYCODE_GRAVE"69 -->  "KEYCODE_MINUS"70 -->  "KEYCODE_EQUALS"71 -->  "KEYCODE_LEFT_BRACKET"72 -->  "KEYCODE_RIGHT_BRACKET"73 -->  "KEYCODE_BACKSLASH"74 -->  "KEYCODE_SEMICOLON"75 -->  "KEYCODE_APOSTROPHE"76 -->  "KEYCODE_SLASH"77 -->  "KEYCODE_AT"78 -->  "KEYCODE_NUM"79 -->  "KEYCODE_HEADSETHOOK"80 -->  "KEYCODE_FOCUS"81 -->  "KEYCODE_PLUS"82 -->  "KEYCODE_MENU"83 -->  "KEYCODE_NOTIFICATION"84 -->  "KEYCODE_SEARCH"85 -->  "TAG_LAST_KEYCODE"所以,adb shell input keyevent 4 為返回系統主頁,adb shell input keyevent 24 為增加音量
*強制殺死進程adb shell amforce-stop <進程名>
*啟動指定Activityadb shell am start-n <進程名> /<Acitvity>
*開關wifiadb shell svc wifienable #打開wifiadb shell svc wifidisable #關閉wifi
*查看wifi密碼adb shell cat/data/misc/wifi/*.conf
*獲取序列號adb get-serialno
*查看設備cpu和內存占用情況adb shell top
*查看占用內存前6的appadb shell top -m 6
*刷新一次內存信息,然后返回adb shell top -n 1
*查詢各進程內存使用情況adb shell procrank
*殺死一個進程adb shell kill[pid]
*查看進程列表adb shell ps
*查看指定進程狀態adb shell ps -x[PID]
*查看后台services信息adb shell servicelist
*查看當前內存占用adb shell cat/proc/meminfo
*查看IO內存分區adb shell cat/proc/iomem
*重命名文件adb shell rename <原文件名> <修改后文件名>
*刪除system/avi.apkadb shell rm/system/avi.apk
*刪除文件夾及其下面所有文件adb shell rm -r<文件夾>
*移動文件adb shell mv <原文件路徑> <移動后文件路徑>
*設置文件權限adb shell chmod 777<文件>
*新建文件夾adb shell mkdirpath/foldelname
*查看文件內容adb shell cat<file>
*清除log緩存adb logcat -c
*查看bug報告adb bugreport
*獲取設備名稱adb shell cat/system/build.prop
*查看ADB幫助adb help
*跑monkeyadb shell monkey -v-p <進程名> <次數>
*當adb 顯示端口被占用,拒絕訪問時的處理辦法:adb nodaemon server//查看哪個端口被占用netstat -ano |findstr "<端口號>" //提示占用該端口的進程(非0地址)(下面步驟可省略,可通過任務管理器殺死)tasklist /fi “PIDeq <進程號>”//通過pid查看所有進程taskkill /pid <進程號> /f//殺死進程


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM