• 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//杀死进程

  • 相关阅读:
    burpsuit学习--修改来源地址
    JPEG Exif 学习
    debug 和 release 版本间堆栈平衡的区别
    sscanf用法
    磁盘学习+MBR学习
    如何进行DLL调试
    Proj THUDBFuzz Paper Reading: Order Matters: Semantic Aware Neural Networks for Binary Code Similarity Detection
    Proj THUDBFuzz Paper Reading: VulSeeker-Pro: Enhanced Semantic Learning Based Binary Vulnerablity Seeker with Emulation
    Asynchronous Programming in Rust
    Proj THUDBFuzz Paper Reading: MemLock: Memory Usage Guided Fuzzing
  • 原文地址:https://www.cnblogs.com/insane-Mr-Li/p/9583594.html
Copyright © 2020-2023  润新知