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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/752933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Qt实现简单的五子棋程序

Qt五子棋小程序 Qt五子棋演示及源码链接登陆界面单机模式联机模式联网模式参考 Qt五子棋 参考大佬中国象棋程序&#xff0c;使用Qt实现了一个简单的五子棋小程序&#xff0c;包含了单机、联机以及联网三种模式&#xff1b;单机模式下实现了简易的AI&#xff1b;联机模式为PtoP…

[数据集][目标检测]铁路工人工服安全帽检测数据集3065张3类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;3065 标注数量(xml文件个数)&#xff1a;3065 标注数量(txt文件个数)&#xff1a;3065 标注…

算法D48 | 动态规划10 | 121. 买卖股票的最佳时机 122.买卖股票的最佳时机II

股票问题是一个动态规划的系列问题&#xff0c;今日安排的题目不多&#xff0c;大家可以慢慢消化。 121. 买卖股票的最佳时机 视频讲解&#xff1a;https://www.bilibili.com/video/BV1Xe4y1u77q https://programmercarl.com/0121.%E4%B9%B0%E5%8D%96%E8%82%A1%E7%A5%A8%E7%9A…

OPTIONS请求(跨域预检查)

目录 一、什么是OPTIONS请求&#xff1f;二、简单请求、复杂请求三、特定的请求头、响应头 一、什么是OPTIONS请求&#xff1f; OPTIONS 请求方式是 HTTP 协议中的一种&#xff0c;主要用于 从响应头中获取服务器支持的HTTP请求方式。 OPTIONS 请求方式是 浏览级行为&#xf…

Redis命名设计

可读性和管理性 以项目名为前缀(防止key冲突)&#xff0c;用冒号分隔&#xff0c;比如项目名:表名:id zh(知乎):news_data(新闻数据):2(主键id) zh:news_data:2 精简性 key的命名&#xff0c;尽量精简&#xff0c;key的名字长度对内存的占用不可忽视&#xff0c;我们来实际…

网络编程--高并发服务器

这里写目录标题 引入场景 多进程并发服务器二级目录二级目录二级目录 多线程并发服务器二级目录二级目录二级目录 多路IO转接服务器设计思路对比引入 select函数简介参数介绍第一个参数第234参数返回值对于第234参数的应用对于最后一个参数总结 附加操作&#xff08;附加四个函…

【QCM4490】开机慢

项目场景: 开机第一阶段耗时40多秒, 行 23: 01-01 00:02:53.862 1000 1000 I boot_progress_start: 41123行 56: 01-01 00:02:55.404 1000 1000 I boot_progress_preload_start: 42664行 57: 01-01 00:02:56.687 1000 1000 I boot_progress_preload_end: 43947行 59: …

【SRE系列之docker容器】--dockerfile镜像优化

dockerfile镜像优化 1.1 镜像优化方法 系统镜像采用ubuntu或者alpine&#xff0c;会比centos少1G左右编写业务镜像时从官网拉取镜像&#xff0c;其余配置根据业务需求再配置编写dockerfile时把不用的安装包卸载或者删除尽量减少run命令的使用&#xff08;一个run命令&#xf…

代码随想录算法训练营第十三天|239. 滑动窗口最大值

239. 滑动窗口最大值 已解答 困难 相关标签 相关企业 提示 给你一个整数数组 nums&#xff0c;有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 示例 1&#xff1…

GetLastError()返回值及含义

https://www.cnblogs.com/ericsun/archive/2012/08/10/2631808.html 〖0〗-操作成功完成。 〖1〗-功能错误。 〖2〗-系统找不到指定的文件。 〖3〗-系统找不到指定的路径。 〖4〗-系统无法打开文件。 〖5〗-拒绝访问。 〖6〗-句柄无效。 〖7〗-存储控制块被损坏。 〖8〗-存储空…

牛客题霸-SQL入门篇(刷题记录二)

本文基于前段时间学习总结的 MySQL 相关的查询语法&#xff0c;在牛客网找了相应的 MySQL 题目进行练习&#xff0c;以便加强对于 MySQL 查询语法的理解和应用。 以下内容是牛客题霸-SQL入门篇剩余的第 21-39 道题目的 SQL 代码答案。 由于涉及到的数据库表较多&#xff0c;因…

链路聚合实验(华为)

思科设备参考&#xff1a;链路聚合实验&#xff08;思科&#xff09; 一&#xff0c;技术简介 网络设备的链路聚合技术&#xff08;Link Aggregation&#xff09;是一种将多个物理链路捆绑在一起&#xff0c;形成一个逻辑链路的技术。这样做可以增加带宽、提高可靠性和实现负…

(五)OpenOFDM解码

解码 现在我们已经校正了残余 CFO&#xff0c;也校正了通道增益&#xff0c;下一步是将 FFT 输出映射到实际数据位。这是对数据包进行编码的逆过程。 解调&#xff1a;复数到位解交织&#xff1a;对每个 OFDM 符号内的比特进行混洗卷积解码&#xff1a;去除冗余并纠正潜在的位…

C语言学习笔记day8

一维数组冒泡排序法 1. 作用 将乱序的一维数组按照从小到大的顺序排列 2. 原理示意图 3. 代码 #include <stdio.h> #include <stdlib.h> #include <time.h>int main(void) {int a[5] {0};int len sizeof(a) / sizeof(a[0]);int i 0;int j 0;int tmp …

CSS案例-3.背景练习

效果1 用背景加入图标 效果2 将图片设为页面背景,图片主体在中间 效果3 鼠标放到导航栏上会变颜色 知识点 CSS背景 属性 描述 取值 background 复合属性 看独立属性 background-color 背景颜色 <color> background-image 背景图像 none | url background-repeat 背景…

vulhub中GIT-SHELL 沙盒绕过漏洞复现(CVE-2017-8386)

GIT-SHELL 沙盒绕过&#xff08;CVE-2017-8386&#xff09;导致任意文件读取、可能的任意命令执行漏洞。 测试环境 为了不和docker母机的ssh端口冲突&#xff0c;将容器的ssh端口设置成3322。本目录下我生成了一个id_rsa&#xff0c;这是ssh的私钥&#xff0c;连接的时候请指…

算法练习:前缀和

目录 1. 一维前缀和2. 二维前缀和3. 寻找数组中心下标4. 除自身以外数组的乘积5. !和为k的子数字6. !和可被k整除的子数组7. !连续数组8. 矩阵区域和 1. 一维前缀和 题目信息&#xff1a; 题目链接&#xff1a; 一维前缀和思路&#xff1a;求前缀和数组&#xff0c;sum dp[r] …

性能分析调优模型

性能测试除了为获取性能指标外&#xff0c;更多是为了发现性能瓶颈和性能问题&#xff0c;然后针对性能问题和性能瓶颈进行分析和调优。在当今互联网高速发展的时代&#xff0c;结合传统软件系统模型以及互联网网站特征&#xff0c;性能调优的模型可以归纳总结为如图1-5-1所示的…

springboot的服务不需要连接数据库,如何保证正常启动

记个小笔记 SpringBootApplication(exclude DataSourceAutoConfiguration.class) 是一个Spring Boot应用程序中用来排除特定自动配置类的注解&#xff0c;一般情况不需要使用数据库&#xff0c;取消这个自动配置即可&#xff1b; 如果你这样做了&#xff0c;发现还是出现Fai…