当前位置: 首页 > article >正文

adb 实用命令汇总

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/

基础adb命令

# 重启adb 
adb kill-server# 查看已连接的设备
adb devices# 进入命令行
adb shell# 使用 -s 参数来指定设备
adb -s <设备序列号> shell# 显示日志
adb logcat

获取 API Level

进入 adb shell ,执行下面命令获取当前 Android 系统的 API Level(即 SDK 版本):

getprop ro.build.version.sdk

以下是 Android 版本与 API Level 的对应表(截至 Android 15):

Android 版本API Level代号发布时间
Android 1535Vanilla Ice Cream2024年9月
Android 1434Upside Down Cake2023年10月
Android 1333Tiramisu2022年8月
Android 12L322022年3月
Android 1231Snow Cone2021年10月
Android 1130Red Velvet Cake2020年9月
Android 1029Q2019年9月
Android 928Pie2018年8月
Android 8.127Oreo2017年12月
Android 8.026Oreo2017年8月
Android 7.125Nougat2016年10月
Android 7.024Nougat2016年8月
Android 6.023Marshmallow2015年10月
Android 5.122Lollipop2015年3月
Android 5.021Lollipop2014年11月

获取 apk 安装路径

获取指定包名的 APK 路径

adb shell pm path com.shizhuang.duapppackage:/data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ==/base.apk

将 APK 文件拉取到本地

adb pull /data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ==/base.apk

获取 Activity 信息

进入 adb shell

# 获取设备上当前运行的 Activity
dumpsys activity activities | grep "mResumedActivity"# 获取活动栈中的所有 Activity,并从中提取出最近的 5 个 Activity
dumpsys activity activities | grep "Hist #" | head -n 5

获取进程信息

# 显示当前系统中正在运行的进程信息、CPU、内存使用率等
top# 列出当前所有进程
ps -A# 列出名称包含 fs 的进程
ps -A | grep fs# 获取 1234 端口进程的 pid
lsof | grep 1234# 根据包名获取 pid
pidof com.shizhuang.duapp# 查看进程状态(如果 TracerPid>0 表示被调试状态,TracerPid 就是跟踪调试的 进程id)
cat /proc/pid/status

进程管理

# 停止指定进程 
kill pid# 强制停止指定进程
kill -9 pid# 暂停进程
kill -19 pid# 继续进程
kill -18 pid

文件管理

# 拉取文件/目录到本地
adb pull /data/app/com.shizhuang.duapp-fTxemmnM8l6298xbBELksQ== D:\temp# 使用cat命令查看文件的内容
cat filename.txt# 当目录不存在自动创建目录
mkdir -p /sdcard/dump_dex# 复制文件(目录必须存在)
cp /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex# 复制文件并自动创建目录
mkdir -p /sdcard/dump_dex && cp /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex/# 移动文件
mv /data/data/com.shizhuang.duapp/8681372.dex /sdcard/dump_dex

查找文件/目录

查找 /data 路径下所有包含 com.cyrus.example 的文件或目录

 find /data -iname '*com.cyrus.example*'

查看文件详细信息

通过 adb shell 进入命令行通过 ls -alh 查看当前路径下所有文件。

wayne:/sdcard # ls -alh
total 32M
drwxrwx--x 15 root sdcard_rw 3.4K 2024-09-23 17:52 .
drwx--x--x  3 root sdcard_rw 3.4K 2024-09-16 18:43 ..
-rw-rw----  1 root sdcard_rw   88 2024-09-18 12:03 .thumbcache_idx_001
drwxrwx--x  2 root sdcard_rw 3.4K 2024-09-16 18:43 Alarms
drwxrwx--x  5 root sdcard_rw 3.4K 2024-09-18 00:25 Android

通过 stat 命令查看更加详细的文件信息,包括访问时间、修改时间、文件类型和 inode 号等。

wayne:/sdcard # stat /sdcard/AndroidFile: /sdcard/AndroidSize: 3488     Blocks: 7       IO Blocks: 512 directory
Device: 1ch/28d  Inode: 2999     Links: 5
Access: (0771/drwxrwx--x)       Uid: (    0/    root)   Gid: ( 1015/sdcard_rw)
Access: 2024-09-16 18:43:38.453334673 +0800
Modify: 2024-09-18 00:25:03.481711645 +0800
Change: 2024-09-18 00:25:03.481711645 +0800

通过 file 命令查看文件类型

wayne:/sdcard # file Magisk-v27.0.apk
Magisk-v27.0.apk: Zip archive data

head 用于查看文本文件的前几行内容,默认是前 10 行。

wayne:/sdcard # head /proc/cpuinfo
Processor       : AArch64 Processor rev 4 (aarch64)
processor       : 0
BogoMIPS        : 38.00
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0xa
CPU part        : 0x801
CPU revision    : 4

-n <行数>:指定要显示的行数。

wayne:/sdcard # head -n 5 /system/build.prop# begin common build properties
# autogenerated by build/make/tools/buildinfo_common.sh
ro.system.build.date=Mon Sep 16 18:43:25 CST 2024
ro.system.build.date.utc=1726483405

编辑文件

编辑文件

vim a.log

如果文件不存在,vim 会创建一个新的。

打开后,你默认处于 “普通模式” ,此时按:

i

此时屏幕左下角会显示 – INSERT --,表示你现在可以开始输入内容。

按下 Esc 键即可退出插入模式,回到普通模式。

在普通模式下,输入以下命令退出 vim

:wq   ↵   # 保存并退出
:q!   ↵   # 不保存直接退出

其他常用命令:

操作命令(普通模式)
插入(光标前)i
插入(新行)o
删除整行dd
撤销u
保存但不退出:w + Enter
不保存强制退出:q! + Enter
移动光标上下左右使用方向键或 h j k l

截图

# 截图
adb shell screencap /sdcard/screenshot.png
# 将截图从设备复制到电脑
adb pull /sdcard/screenshot.png
# 删除设备中的截图文件
adb shell rm /sdcard/screenshot.png

相关文章:

adb 实用命令汇总

版权归作者所有&#xff0c;如有转发&#xff0c;请注明文章出处&#xff1a;https://cyrus-studio.github.io/blog/ 基础adb命令 # 重启adb adb kill-server# 查看已连接的设备 adb devices# 进入命令行 adb shell# 使用 -s 参数来指定设备 adb -s <设备序列号> shell…...

鸿蒙系统使用ArkTS开发语言支持身份证阅读器、社保卡读卡器等调用二次开发SDK

har库导入&#xff1a; { "license": "", "devDependencies": {}, "author": "", "name": "entry", "description": "Please describe the basic information.", &qu…...

《Python星球日记》 第54天:卷积神经网络进阶

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、深度CNN架构解析1. LeNet-5&#xff08;1998&#xff09;2. AlexNet&#x…...

《AI大模型应知应会100篇》第53篇:Hugging Face生态系统入门

第53篇&#xff1a;Hugging Face生态系统入门 ——从模型获取到部署的全流程实战指南 &#x1f4cc; 摘要 在人工智能快速发展的今天&#xff0c;Hugging Face已成为自然语言处理&#xff08;NLP&#xff09;领域最具影响力的开源平台之一。它不仅提供丰富的预训练模型、强大…...

【基于 LangChain 的异步天气查询2】GeoNames实现地区实时气温查询

目录 功能简介 一、创建GeoNames账号 1、进入官网 2、创建账号 二、运行代码 weather_runnable.py main.py 运行结果 功能简介 本文主要通过Langchain&#xff0c;结合GeoNames实现了地区温度的实时查询&#xff0c;并通过GPT-4o对温度进行一段简短的描述。 一、创建Ge…...

嵌入式与物联网:C 语言在边缘计算时代的破局之道

引言 在万物互联的 2025 年&#xff0c;全球物联网设备连接数突破 300 亿台&#xff0c;其中 78% 的嵌入式控制系统仍基于 C 语言开发。这种跨越半个世纪的编程语言&#xff0c;正以新的技术形态在智能汽车、工业物联网、边缘计算等领域重塑竞争力。本文通过三个前沿应用场景&…...

《基于人工智能的智能客服系统:技术与实践》

一、引言 在数字化时代&#xff0c;客户服务已成为企业竞争的关键领域之一。随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;智能客服系统逐渐成为企业提升服务质量和效率的重要工具。智能客服不仅能够快速响应客户咨询&#xff0c;还能通过自然语言处理&am…...

5. HTML 转义字符:在网页中正确显示特殊符号

在 HTML 开发中,我们经常会遇到需要显示特殊字符的情况,比如 <、>、空格或版权符号等。直接输入这些字符可能会导致 HTML 解析错误或显示异常。接下来通过学习 HTML 转义字符(也称为实体字符),将会掌握了如何在网页中正确显示这些特殊符号的方法。 一、为什么需要转…...

基于nodejs + Koa +Nuxt3的订单系统项目实战

以下是一个基于 Node.js Koa Nuxt3 的订单系统项目实战指南&#xff0c;包含关键实现步骤和代码示例&#xff1a; 一、项目架构设计 project/ ├── backend/ # Koa 后端 │ ├── config/ # 配置文件 │ ├── controllers/ # 控制器 │ ├──…...

软件开发者如何转战AI领域

在人工智能&#xff08;AI&#xff09;技术迅猛发展的当下&#xff0c;越来越多的软件工程师开始考虑转型进入AI领域。本文将探讨AI软件行业的现状、所需能力&#xff0c;以及普通软件工程师在转型过程中可以借助的技能和需要补充的知识。 AI软件行业的现状 截至2025年&#…...

服务器数据恢复—硬盘坏道导致EqualLogic存储不可用的数据恢复

服务器存储数据恢复环境&故障&#xff1a; 一台EqualLogic某型号存储中有一组由16块SAS硬盘组建的RAID5阵列。上层采用VMFS文件系统&#xff0c;存放虚拟机文件&#xff0c;上层一共分了4个卷。 磁盘故障导致存储不可用&#xff0c;且设备已经过保。 服务器存储数据恢复过程…...

JAVA实战开源项目:智能学习平台系统 (Vue+SpringBoot) 附源码

本文项目编号 T 181 &#xff0c;文末自助获取源码 \color{red}{T181&#xff0c;文末自助获取源码} T181&#xff0c;文末自助获取源码 目录 一、系统介绍二、数据库设计三、配套教程3.1 启动教程3.2 讲解视频3.3 二次开发教程 四、功能截图五、文案资料5.1 选题背景5.2 国内…...

Linux系统使用vscode格式化shell脚本

推荐工具及配置方案 BeautySH 特点 纯 Python 实现&#xff0c;轻量级且活跃维护。 配置步骤 安装 BeautySH pip3 install beautyshVSCode 集成 打开命令面板&#xff08;CtrlShiftP&#xff09;&#xff0c;输入 Tasks: Configure Task&#xff0c;选择 Create tasks.json f…...

牛客练习赛138

目录 A-小s的签到题 无注释版 有注释版 B-行列改写 无注释版 有注释版 C-树上替身追赶游戏 无注释版 有注释版 A-小s的签到题 无注释版 #include<bits/stdc.h> using namespace std; struct f{char ch;int x; }a[110]; bool cmp(f p,f q){if(p.xq.x) return p…...

傅利叶十周年,升级核心战略:“有温度”的具身智能蓝图

5月9日&#xff0c;傅利叶十周年庆典暨首届具身智能生态峰会在上海正式召开。本次大会以“十年共创&#xff0c;具身成翼”为主题&#xff0c;汇聚了来自通用机器人与医疗康复领域的顶尖专家学者、合作伙伴与投资机构&#xff0c;共同探索具身智能在未来十年的技术应用与生态发…...

JS正则表达式介绍(JavaScript正则表达式)

文章目录 JavaScript正则表达式完全指南正则表达式基础元字符与特殊字符基本元字符. - 点号\d - 数字\D - 非数字\w - 单词字符\W - 非单词字符\s - 空白字符\S - 非空白字符 正则表达式标志常用标志详解g - 全局匹配i - 忽略大小写m - 多行匹配s - 点号匹配所有字符u - Unicod…...

AI安全之对抗样本攻击---FGSM实战脚本解析

一、对抗样本与FGSM的背景 在深度学习安全领域&#xff0c;对抗样本&#xff08;Adversarial Examples&#xff09;因其特殊的生成机制备受关注。2015年ICLR会议收录的里程碑式论文《Explaining and Harnessing Adversarial Examples》中&#xff0c;Goodfellow等学者首次系统…...

《Python星球日记》 第50天:深度学习概述与环境搭建

名人说&#xff1a;路漫漫其修远兮&#xff0c;吾将上下而求索。—— 屈原《离骚》 创作者&#xff1a;Code_流苏(CSDN)&#xff08;一个喜欢古诗词和编程的Coder&#x1f60a;&#xff09; 目录 一、什么是深度学习&#xff1f;它与传统机器学习的区别1. 深度学习的定义2. 深…...

Android开发-图像显示

在Android应用开发中&#xff0c;图像显示是提升用户体验的重要元素之一。无论是展示产品图片、用户头像还是应用程序图标&#xff0c;合理地使用图像资源可以显著增强界面的吸引力和功能性。本文将详细介绍如何在Android应用中有效地显示图像&#xff0c;包括加载本地与网络图…...

linux搭建hadoop学习

linux搭建hadoop学习 下载安装包: 海外资源可能需要翻墙或者找国内资源 cd /opt wget https://dlcdn.apache.org/hadoop/common/hadoop-2.10.2/hadoop-2.10.2.tar.gz tar -zxvf hadoop-2.10.2.tar.gz mv hadoop-2.10.2 hadoop配置环境变量 # 在/etc/profile文件中添加下面内…...

PyTorch API 8 - 工具集、onnx、option、复数、DDP、量化、分布式 RPC、NeMo

文章目录 torch.nn.inittorch.nn.attention工具集子模块 torch.onnx概述基于 TorchDynamo 的 ONNX 导出器基于TorchScript的ONNX导出器贡献与开发 torch.optim如何使用优化器构建优化器每个参数的选项执行优化步骤optimizer.step()optimizer.step(closure) 基类算法如何调整学习…...

0基础 | STM32 | TB6612电机驱动使用

TB6612介绍及使用 单片机通过驱动板连接至电机 原因&#xff1a;单品机I/O口输出电流I小 驱动板&#xff1a;从外部引入高电压&#xff0c;控制电机驱动 电源部分 VM&#xff1a;电机驱动电源输入&#xff0c;输入电压范围建议为3.7&#xff5e;12V GND&#xff1a;逻辑电…...

【Linux】POSIX 线程信号量与互斥锁▲

代码要求&#xff1a;高内聚&#xff0c;低耦合 高内聚&#xff1a;元素之间具有很强的关联性&#xff0c;模块的功能单一且集中 低耦合&#xff1a;代码之间的依赖关系尽可能简单&#xff0c;相互之间的影响和交互尽可能少 线程安全问题&#xff1a;多线程访问共享数据&…...

轻松制作高质量视频,实时生成神器LTX-Video重磅登场!

探索LTX-Video&#xff1a;实时视频生成跨越新高度 在如今这个视觉内容主导的数字时代&#xff0c;视频生成成为推动创意表达的关键。而今天&#xff0c;我们将带您深入探索LTX-Video&#xff0c;一个强大的开源项目&#xff0c;致力于通过尖端技术将视频生成提升到一个全新的…...

USR-M100采集数据并提交MQTT服务器

本文为记录备忘&#xff0c;不做过多解释。 模块自身带有2路数字量输入&#xff0c;2路模拟量输入&#xff0c;2路485接口 数字量接报警输入&#xff0c;模拟量接压力传感器&#xff0c;液位传感器&#xff0c;485接口分别接流量计&#xff0c;温湿度传感器。 正确接线&…...

内网穿透系列三:开源本地服务公网映射工具 tunnelmole

以下是对 tunnelmole 简要介绍&#xff1a; tunnelmole 是一款开源的内网穿透工具&#xff0c;一行命令就能把本地http服务映射成公网可访问的链接提供公共免费的网络服务&#xff0c;直接下载运行命令即可使用&#xff0c;也支持自行配置搭建私有客户端、服务端参考开源地址&…...

数据集-目标检测系列- 冥想 检测数据集 close_eye>> DataBall

数据集-目标检测系列- 冥想 检测数据集 close * 相关项目 1&#xff09;数据集可视化项目&#xff1a;gitcode: https://gitcode.com/DataBall/DataBall-detections-100s/overview 2&#xff09;数据集训练、推理相关项目&#xff1a;GitHub - XIAN-HHappy/ultralytics-yolo-…...

计算机网络:家庭路由器WiFi信号的发射和手机终端接收信号原理?

WiFi路由器与手机之间的信号传输涉及多个技术层面的协作,以下是其工作原理的详细步骤: 一、数据封装与协议处理 应用层数据生成 用户操作(如浏览网页、视频播放)产生数据包,经TCP/IP协议栈逐层封装,添加IP地址(网络层)和MAC地址(数据链路层)。协议封装 数据包被封装…...

用 NGINX 打造高性能 FastCGI 加速 `ngx_http_fastcgi_module`

一、安装与启用 # 在编译 NGINX 源码时加上&#xff1a; ./configure --with-http_fastcgi_module make && sudo make install# 或确保你使用的二进制已内置&#xff08;大多数发行版都默认包含&#xff09; nginx -V | grep fastcgi二、基础转发配置 http {server {…...

深度学习 ———— 迁移学习

迁移学习原理 什么是迁移学习&#xff1f; 迁移学习利用在大规模数据集&#xff08;如ImageNet&#xff09;上预训练的模型&#xff0c;改装小数据集&#xff08;如CIFAR-10&#xff09;。优势&#xff1a; 减少训练时间&#xff1a;预训练模型已学习通用特征&#xff08;如边…...