ABD 实用技巧

一. 概述

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,Android studio 可以直接在terminal 中操作adb,说白了就是debug工具。。
借助adb工具,我们可以管理设备或手机模拟器的状态。还可以进行很多手机操作,如安装软件、系统升级、运行shell命令等等。其实简而言说,adb就是连接Android手机与PC端的桥梁,可以让用户在电脑上对手机进行全面的操作

二. 命令

1. 启动关闭adb 服务

  • adb start-server 启动adb 服务
  • adb kill-server 关闭adb 服

2. 查询设备 adb devices

  • adb devices

3. 安装软件 adb install

4. 卸载 adb uninstall

  • adb devices 确认设备
  • adb shell pm list packages 找到安装包
  • adb uninstall com.company.app
    卸载某一设备上app,不保留数据和缓存目录
  • adb -s 8e582a20 uninstall app.apk
    卸载某一设备上app,保留数据和缓存目录
  • adb -s 8e582a20 uninstall -k app.apk

5. 启动/停止服务

当有事adb服务异常时,需要重新停止启动服务

  • 启动adb server:
    adb start-server
  • 停止adb server:
    adb kill-server

6. 查看日志adb logcat

  • 显示tag为“xyz”的log信息
    adb logcat -s xyz
  • 将logx信息保存到手机指定目录下
    adb logcat -f /sdcard/log.txt
  • 输出log详细时间
    adb logcat -v time
  • 利用grep 过滤log
    adb logcat |grep xyz
  • 将logcat 输出保存到pc中文本中
    adb logcat >log.txt

7、查看日志分析bugreport

bugreport是Android 自带的日志分析系统,包含系统启动log,系统状态和详细的进程、虚拟机、缓存、内存等信息
adb bugreport
将bugreport导出
adb bugreport > bugreport.log

8. 重启

adb reboot

9. 数据传输

  • adb push <本地路径> <远程路径>
    用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)

  • adb pull <远程路径> <本地路径>
    用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑

10. 查看adb版本

adb version

11、获取设备的ID和序列号

adb get-product
adb get-serialno

12. shell命令

 adb shell 就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,例如:
adb shell dmesg会打印出内核的调试信息。

a. 包管理

  • 列出手机中所有app包名
    adb shell pm list packages
  • 列出手机系统应用所有包名
    adb shell pm list packages -s
  • 列出手机第三方应用包名
    adb shell pm list packages -3
    过滤包名
    adb shell pm list packages|grep qq

b. 手机录屏

  • 默认录制180s,录制比例为4Mbps
    adb shell screenrecord /sdcard/video.mp4
  • 指定视频分辨率
    adb shell screenrecord –size 1280*720 /sdcard/video.mp4
  • 指定时间
    adb shell screeenrecord –time-limit 200 /sdcard/video.mp4

c、电量

  • 获取手机电池信息
    adb shell dumpsys battery
  • 获取手机电量消耗
    adb shell dumpsys batterystats com.Package.name
  • 获取某个应用的电量消耗
    adb shell dumpsys batterystats com.Package.name
  • 将电量信息输出到文件中
    adb shell dumpsys batterystats com.package.nae > battery.txt

d. 其他adb shell 命令

  • 清理应用数据和缓存
    adb shell pm clear
  • 启动应用
    adb shell am start -n com.company.demo/.SplashActivity
  • 强行停止应用
    adb shell am force-stop
  • 查看屏幕分辨率
    adb shell wm size
  • 查看屏幕密度
    adb shell wm density
  • 查看帮助指令
    adb shell pm help
    adb shell am help
  • 截屏
    adb shell screencap -p /sdcard/screenshot.png
  • 获取内存状况
    adb shell dumpsys meminfo

更多的参考:
https://github.com/mzlogin/awesome-adb

<think>我们正在处理用户关于学习ADB基础知识和使用方法的请求。用户希望了解如何自学ADB及其常用命令。根据提供的引用材料,我们可以总结出以下关键点: 1. **引用[1]** 介绍了ADB的基本概念:ADBAndroid Debug Bridge的缩写,是一个客户端-服务器架构的调试工具,用于连接开发机和Android设备(真机或模拟器)。它通过TCP端口(如5554)进行通信,由三个组件组成:client、server和daemon。 2. **引用[2]** 提供了ADB命令的具体用法: - 查看设备连接状态:`adb devices` - 启动/停止ADB服务:`adb start-server` / `adb kill-server` - 重启设备上的adbd服务:`adb root` (以root权限重启adbd) 或分别使用`stop adbd`和`start adbd` - 指定ADB服务器端口:`adb -P <port> start-server` 3. **引用[3]** 提到了Android安全测试的未来趋势,但当前问题聚焦于ADB基础学习,因此这部分内容暂不纳入核心回答。 用户需求明确:希望自学ADB基础知识及常用命令。因此,我们将构建一个结构化学习路径: ### 学习框架 1. **环境准备**:安装ADB工具(通过Android SDK或独立包) 2. **基础概念**:解释ADB架构(client-server-daemon) 3. **核心操作**:设备连接、文件传输、应用管理、调试命令 4. **进阶技巧**:端口转发、日志抓取、脚本编写 ### 注意事项 - 所有命令行代码需用代码块标注 - 数学公式(若有)按格式要求处理(但ADB教程通常不涉及复杂公式) - 生成3个相关问题 最终回答将包含: 1. ADB简介与环境搭建 2. 常用命令分类详解(附示例) 3. 自学资源推荐 4. 相关问题 下面开始组织内容:</think>### Android调试桥(ADB)自学指南 ADBAndroid开发的核心工具链,用于连接设备与开发机进行调试。以下是系统化的学习路径: --- ### 一、环境搭建(必需步骤) 1. **安装ADB工具** - Windows:下载[Android SDK Platform-Tools](https://developer.android.com/studio/releases/platform-tools)并解压,将路径加入系统变量`PATH` - macOS/Linux: ```bash brew install android-platform-tools # macOS sudo apt install adb fastboot # Ubuntu/Debian ``` 2. **启用设备调试模式** - 进入手机设置 → 关于手机 → 连续点击"版本号"激活开发者选项 - 返回设置 → 开发者选项 → 开启 **USB调试** - 连接电脑后,在终端验证设备: ```bash adb devices # 输出示例:List of devices attached # ABCD1234EFGH device ``` --- ### 二、核心命令分类学习 #### (1) 设备管理 | 命令 | 作用 | 示例 | |------|------|------| | `adb devices` | 查看已连接设备 | `adb devices -l`(显示详细信息) | | `adb connect <IP:端口>` | 通过WiFi连接 | `adb connect 192.168.1.100:5555` | | `adb reboot` | 重启设备 | `adb reboot recovery`(进入恢复模式) | #### (2) 文件传输 ```bash # 推送文件到设备 adb push local_file.txt /sdcard/ # 从设备拉取文件 adb pull /sdcard/photo.jpg ~/Downloads/ # 查看设备文件系统 adb shell ls /sdcard/ ``` #### (3) 应用管理 ```bash # 安装APK adb install app-debug.apk # 卸载应用(需包名) adb uninstall com.example.app # 查看已安装应用 adb shell pm list packages -f ``` #### (4) 调试与日志 ```bash # 实时查看日志 adb logcat -v time | grep "MyAppTag" # 捕获崩溃日志 adb logcat -b crash # 进入设备Shell adb shell > dumpsys battery # 查看电池信息 > input keyevent 26 # 模拟电源键 ``` --- ### 三、进阶场景操作 1. **端口转发(调试数据库)** ```bash adb forward tcp:8080 tcp:8080 # 将设备8080端口映射到本地 ``` 2. **屏幕录制** ```bash adb shell screenrecord /sdcard/demo.mp4 ``` 3. **无线调试(无需USB)** ```bash adb tcpip 5555 # 设备开启TCP监听 adb connect <设备IP>:5555 ``` --- ### 四、自学资源推荐 1. **官方文档** - [Android开发者ADB指南](https://developer.android.com/studio/command-line/adb) [^1] 2. **交互式教程** - [Codecademy ADB教程](https://www.codecademy.com/learn/learn-adb) 3. **命令速查表** - [ADB Cheat Sheet](https://gist.github.com/Pulimet/50bd13827a35a8d9a0ae3d0697f3e587) > ⚠️ **安全提示**:避免在生产设备使用`adb root`,可能引发系统不稳定[^2]。 --- ### 五、调试原理简析 ADB采用C/S架构: 1. **Client**:运行在开发机上的命令终端 2. **Server**:管理客户端与设备的通信(默认端口`5037`) 3. **Daemon**:设备后台服务`adbd`处理请求 三者关系满足: $$ \text{Client} \xrightarrow{\text{TCP}} \text{Server} \xrightarrow{\text{USB/WiFi}} \text{Daemon (adbd)} $$ 当执行`adb devices`时,Server向所有已连接设备发送状态查询,返回数据格式: ```plaintext [serialNumber] [state] # 例如:ABCD1234EFGH device ``` 其中`state`可为`device`(已就绪)、`offline`(未响应)、`no device`(未连接)[^2]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值