ADB常用命令(adb命令使用方法)
liuian 2025-06-09 23:30 21 浏览
文章关键词:电子数据取证、手机取证、计算机取证、电子物证
一、前言
ADB对于大家来说应该是很熟悉的了,但是大家对ADB所有的命令以及使用都知道吗?ADB对于我们取证人员来说其实是非常重要的,在一些无法常规的取证方式下,说不一定ADB命令能给我们一些帮助。
二、ADB是什么
ADB,即Android Debug Bridge是一种允许模拟器或已连接的Android设备进行通信的命令行工具,它可为各种设备操作提供便利,如安装和调试应用,并提供对Unix shell(可用来在模拟器或连接的设备上运行各种命令)的访问。可以在Android SDK/platform-tools中找到ADB工具或下载ADB Kits。
三、连接的Android设备ADB
3.1 USB连接
通过USB连接来正常使用ADB需要以下步骤:
确认硬件状态正常(包括Android设备处于正常开机状态,USB连接线和各种接口完好)。
Android设备的开发者选项和USB调试模式已开启(可以在「设置」-「开发者选项」-「USB调试」打开USB调试)。
确认设备驱动状态正常(安装ADB驱动程序)。
通过USB线连接好电脑和设备后确认状态。
通过ADB devices命令查看设备连接情况。
3.2 WLAN连接(需要USB线)
借助USB通过WiFi连接来正常使用ADB需要以下步骤。
操作步骤:
将Android设备与要运行ADB的电脑连接到同一个WiFi。
将设备与电脑通过USB线连接(可通过ADB devices命令查看设备连接情况)。
通过ADB tcpip 5555命令让设备在5555端口监听TCP/IP连接。
断开USB连接。
找到设备的IP地址(可以在「设置」-「关于手机」-「状态信息」-「IP地址」查看IP地址)。
通过ADB connect <device-ip-address>命令使用IP地址将Android设备与电脑连接。
通过ADB devices命令查看设备连接情况。
使用完毕后可通过ADB disconnect <device-ip-address>命令断开无线连接。
3.3 WLAN连接(无需借助USB线)
注:需要root权限。不借助USB通过WiFi连接来正常使用ADB需要以下步骤:
在Android设备上安装一个终端模拟器(可通过Terminal Emulator for Android Downloads下载)。
将Android设备与要运行ADB的电脑连接到同一个WiFi。
打开Android设备上的终端模拟器,在里面依次运行命令:
1、su
2、setprop service.ADB.tcp.port 5555
找到设备的IP地址(可以在「设置」-「关于手机」-「状态信息」-「IP地址」查看IP地址)。
通过ADB connect<device-ip-address>命令使用IP地址将Android设备与电脑连接。
通过ADB devices命令查看设备连接情况。
3.4 列举部分关于此部分ADB命令:
ADB devices --- 获取当前连接的设备
ADB shell getprop --- 查看android设备的参数信息
ADB shell cat /proc/cpuinfo --- 查看CPU架构信息
ADB shell getprop ro.build.version.release --- 查看系统Android版本信息
ADB shell getprop ro.build.version.sdk --- 查看系统API版本信息
ADB shell df --- 获取手机磁盘空间
ADB shell dumpsys procstats --- 获取当前内存使用信息
ADB shell dumpsys gfxinfo --- 获取当前的制图状态
四、文件拷贝ADB
ADB push <本地路径> <远程路径> # 从电脑上发送文件到设备 【ADB push media /sdcard/ 把media文件夹整个拷贝到sd卡根目录】
ADB pull <远程路径> <本地路径> # 从设备下载文件到电脑 【ADB pull /system/media D:/ 把设备中的media目录整个拷贝到D盘】
五、通过ADB安装应用
安装应用的基本命令格式是:ADB install [-l] [-r] [-t] [-s] [-d] [-g] <XXX.apk>或者直接安装包通过ADB拷贝到手机中再进行安装ADB install XXX/XXX/XXX.apk。
ADB install 后面可以跟一些可选参数来控制安装APK的行为,可用参数及含义如下:
参数 含义
-l 将应用安装到保护目录 /mnt/asec
-r 允许覆盖安装
-t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用
-s 将应用安装到 sdcard
-d 允许降级覆盖安装
-g 授予所有运行时权限
运行命令后可以看到输出内容,包含安装进度和状态,安装状态如下:
Success:代表安装成功。
Failure:代表安装失败。APK安装失败的情况有很多,Failure状态
之后有安装失败输出代码。常见安装失败输出代码、含义及可能的解决办法如下:
ADB是Android SDK里的一个工具,用这个工具可以直接操作管理Android模拟器或者真实的Android设备。它的主要功能有:
在设备上运行Shell命令;将本地APK软件安装至模拟器或Android设备;管理设备或手机模拟器上的预定端口;在设备或手机模拟器上复制或粘贴文件。
ADB是一个客户端-服务器程序,包括以下三个组件。
客户端:该组件发送命令,客户端在开发计算机上运行。您可以通过发出ADB命令从命令行终端调用客户端。
后台程序:该组件在设备上运行命令。后台程序在每个模拟器或设备实例上作为后台进程运行。
服务器:该组件管理客户端和后台程序之间的通信。服务器在开发计算机上作为后台进程运行。
六、总结
本次分享的ADB命令主要包括以下内容,虽内容有限,但均在取证过程中具有较高的实用价值。此外,关于ADB命令的运用,还涉及诸多方面,这是一个不断探索和进步的过程,后期会持续更新文章来深入探讨此命令的应用。
相关推荐
- 教你把多个视频合并成一个视频的方法
-
一.情况介绍当你有一个m3u8文件和一个目录,目录中有连续的视频片段,这些片段可以连成一段完整的视频。m3u8文件打开后像这样:m3u8文件,可以理解为播放列表,里面是播放视频片段的顺序。视频片段像这...
- 零代码编程:用kimichat合并一个文件夹下的多个文件
-
一个文件夹里面有很多个srt字幕文件,如何借助kimichat来自动批量合并呢?在kimichat对话框中输入提示词:你是一个Python编程专家,完成如下的编程任务:这个文件夹:D:\downloa...
- Java APT_java APT 生成代码
-
JavaAPT(AnnotationProcessingTool)是一种在Java编译阶段处理注解的工具。APT会在编译阶段扫描源代码中的注解,并根据这些注解生成代码、资源文件或其他输出,...
- Unit Runtime:一键运行 AI 生成的代码,或许将成为你的复制 + 粘贴神器
-
在我们构建了UnitMesh架构之后,以及对应的demo之后,便着手于实现UnitMesh架构。于是,我们就继续开始UnitRuntime,以用于直接运行AI生成的代码。PS:...
- 挣脱臃肿的枷锁:为什么说Vert.x是Java开发者手中的一柄利剑?
-
如果你是一名Java开发者,那么你的职业生涯几乎无法避开Spring。它如同一位德高望重的老国王,统治着企业级应用开发的大片疆土。SpringBoot的约定大于配置、SpringCloud的微服务...
- 五年后,谷歌还在全力以赴发展 Kotlin
-
作者|FredericLardinois译者|Sambodhi策划|Tina自2017年谷歌I/O全球开发者大会上,谷歌首次宣布将Kotlin(JetBrains开发的Ja...
- kotlin和java开发哪个好,优缺点对比
-
Kotlin和Java都是常见的编程语言,它们有各自的优缺点。Kotlin的优点:简洁:Kotlin程序相对于Java程序更简洁,可以减少代码量。安全:Kotlin在类型系统和空值安全...
- 移动端架构模式全景解析:从MVC到MVVM,如何选择最佳设计方案?
-
掌握不同架构模式的精髓,是构建可维护、可测试且高效移动应用的关键。在移动应用开发中,选择合适的软件架构模式对项目的可维护性、可测试性和团队协作效率至关重要。随着应用复杂度的增加,一个良好的架构能够帮助...
- 颜值非常高的XShell替代工具Termora,不一样的使用体验!
-
Termora是一款面向开发者和运维人员的跨平台SSH终端与文件管理工具,支持Windows、macOS及Linux系统,通过一体化界面简化远程服务器管理流程。其核心定位是解决多平台环境下远程连接、文...
- 预处理的底层原理和预处理编译运行异常的解决方案
-
若文章对您有帮助,欢迎关注程序员小迷。助您在编程路上越走越好![Mac-10.7.1LionIntel-based]Q:预处理到底干了什么事情?A:预处理,顾名思义,预先做的处理。源代码中...
- 为“架构”再建个模:如何用代码描述软件架构?
-
在架构治理平台ArchGuard中,为了实现对架构的治理,我们需要代码+模型描述所要处理的内容和数据。所以,在ArchGuard中,我们有了代码的模型、依赖的模型、变更的模型等,剩下的两个...
- 深度解析:Google Gemma 3n —— 移动优先的轻量多模态大模型
-
2025年6月,Google正式发布了Gemma3n,这是一款能够在2GB内存环境下运行的轻量级多模态大模型。它延续了Gemma家族的开源基因,同时在架构设计上大幅优化,目标是让...
- 比分网开发技术栈与功能详解_比分网有哪些
-
一、核心功能模块一个基本的比分网通常包含以下模块:首页/总览实时比分看板:滚动展示所有正在进行的比赛,包含比分、比赛时间、红黄牌等关键信息。热门赛事/焦点战:突出显示重要的、关注度高的比赛。赛事导航...
- 设计模式之-生成器_一键生成设计
-
一、【概念定义】——“分步构建复杂对象,隐藏创建细节”生成器模式(BuilderPattern):一种“分步构建型”创建型设计模式,它将一个复杂对象的构建与其表示分离,使得同样的构建过程可以创建...
- 构建第一个 Kotlin Android 应用_kotlin简介
-
第一步:安装AndroidStudio(推荐IDE)AndroidStudio是官方推荐的Android开发集成开发环境(IDE),内置对Kotlin的完整支持。1.下载And...
- 一周热门
-
-
【验证码逆向专栏】vaptcha 手势验证码逆向分析
-
Psutil + Flask + Pyecharts + Bootstrap 开发动态可视化系统监控
-
一个解决支持HTML/CSS/JS网页转PDF(高质量)的终极解决方案
-
再见Swagger UI 国人开源了一款超好用的 API 文档生成框架,真香
-
网页转成pdf文件的经验分享 网页转成pdf文件的经验分享怎么弄
-
C++ std::vector 简介
-
飞牛OS入门安装遇到问题,如何解决?
-
系统C盘清理:微信PC端文件清理,扩大C盘可用空间步骤
-
10款高性能NAS丨双十一必看,轻松搞定虚拟机、Docker、软路由
-
python使用fitz模块提取pdf中的图片
-
- 最近发表
- 标签列表
-
- python判断字典是否为空 (50)
- crontab每周一执行 (48)
- aes和des区别 (43)
- bash脚本和shell脚本的区别 (35)
- canvas库 (33)
- dataframe筛选满足条件的行 (35)
- gitlab日志 (33)
- lua xpcall (36)
- blob转json (33)
- python判断是否在列表中 (34)
- python html转pdf (36)
- 安装指定版本npm (37)
- idea搜索jar包内容 (33)
- css鼠标悬停出现隐藏的文字 (34)
- linux nacos启动命令 (33)
- gitlab 日志 (36)
- adb pull (37)
- python判断元素在不在列表里 (34)
- python 字典删除元素 (34)
- vscode切换git分支 (35)
- python bytes转16进制 (35)
- grep前后几行 (34)
- hashmap转list (35)
- c++ 字符串查找 (35)
- mysql刷新权限 (34)