adb中常用的命令

进程线程有关

adb shell

adb shell ps

eg:

capricorn:/ # ps
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
root      1     0     16468  1628  SyS_epoll_ 00004c809c S /init
root      2     0     0      0       kthreadd 0000000000 S kthreadd
root      3     2     0      0     smpboot_th 0000000000 S ksoftirqd/0
root      6     2     0      0     diag_socke 0000000000 S kworker/u8:0
...

capricorn:/ # ps | grep "system_server"

查看system_server信息

USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
system    13586 13395 2658524 331360 SyS_epoll_ 7f980a2668 S system_server

可以知道PPID=13395

capricorn:/ # ps 13395
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
root      13395 1     2176320 52360 poll_sched 7f980a2788 S zygote64

可以知道副进程是zygote64,继续反推

USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
root      1     0     16468  1628  SyS_epoll_ 00004c809c S /init

这里我们就知道init进程是zygote64的父进程

adb shell am force-stop [参数] <process>

强制停止应用(process=包名)
eg:
adb shell am force-stop com.tencent.mm

adb shell am kill [参数] <process>

停止那个单个进程

adb shell am kill-all

停止所有后台进程

adb shell dumpsys cpuinfo

查看CPU信息

adb shell dumpsys meminfo

要获取具体应用的内存信息,可加上包名adb shell dumpsys meminfo PACKAGE_NAME

adb shell top

查看设备cpu和内存占用情况

adb shell top -m 2

查看占用内存前2的app

adb shell ps -x [PID]

查看指定进程状态

adb shell kill [PID]

杀死进程

adb shell top -n 1

刷新一次内存信息,然后返回

adb shell cat /proc/meminfo

查看当前内存占用

注意区别:

wangwei@wangwei-xiaomi:~$ adb shell ps -x 1
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
root      1     0     16468  1592  SyS_epoll_ 00004c809c S /init (u:130, s:329)
wangwei@wangwei-xiaomi:~$ adb shell ps 1
USER      PID   PPID  VSIZE  RSS   WCHAN              PC  NAME
root      1     0     16468  1592  SyS_epoll_ 00004c809c S /init
字段含义
USER进程的当前用户
PID进程id
PPID父进程id
VSIZE进程虚拟地址空间大小
RSS进程正在使用物理内存大小
WCHAN内核地址
PC当前程序指针
NAME进程名

包有关

adb shell pm list packages [option]

  • -f 显示关联apk
  • -d 只显示 disabled 的应用
  • -d 只显示 disabled 的应用
  • -e 只显示 enabled 的应用
  • -s 只显示系统应用
  • -3 只显示第三方应用
  • -i 显示应用的 installer
  • -u 包含已卸载应用
  • 包名 只显示含有包名的应用

eg:

#包名称为com.tencent.mm
capricorn:/ # pm list packages tencent
package:com.tencent.mm


#第三方应用
capricorn:/ # pm list packages -3                                              
package:com.tencent.mm
package:com.xiaomi.jr
package:com.google.android.marvin.talkback
package:org.codeaurora.bluetooth
package:com.nike.plusgpschina
package:com.xiaomi.o2o
package:com.android.development

adb install <apkfile>

安装APK, adb install -r <apkfile> 允许覆盖安装

adb uninstall <package>

卸载APK

adb uninstall -k <package>

卸载APK但保留数据和缓存文件

adb shell am start -n <package_name>/<activity_class_name>

启动APK,am是ActivityManager

adb shell pm clear <packagename>

清除APK数据与缓存

四大组件相关

adb shell dumpsys activity top

查看顶部的Activity的信息

adb shell dumpsys activity top | grep ACTIVITY

adb shell dumpsys activity activities | grep packageName

查看顶部activity包名,过滤掉UI结构

adb shell dumpsys activity activities | grep intent

查看UI的堆栈

adb shell dumpsys activity activities | grep affinity

打印堆栈由于什么intent拉起来

eg:

wangwei@wangwei-xiaomi:~$ adb shell dumpsys activity activities | grep packageName
          packageName=com.xiaomi.market processName=com.xiaomi.market
          packageName=com.xiaomi.market processName=com.xiaomi.market
          packageName=com.android.quicksearchbox processName=com.android.quicksearchbox
          packageName=com.miui.home processName=com.miui.home

结构显示,由miui.home然后显示快捷搜索bar,然后进入小米应用商店,在应用商店里面由一个activity进入另一个activity

adb shell dumpsys activity services

查看正在运行的 Services

AM命令(ActivityManager)

主要使用:am <command>命令

intent

Intent说明Am参数
component组件名称 格式:包名/类名-n
action指定intent的执行动作,比如拨打电话组件-a
data_url操作的数据-d
categorycategary是一个字符串,提供了额外的信息,有关于能够处理这个Intent对象的组件种类-c
extra传递给Intent的额外数据,以Bundle的形式定义,就是一些键值对-e
mime_typeMIME类型-t
flags各种类型的flag,很多是用来指定Android系统如何启动activity,还有启动了activity后如何对待他-f
package包名-p

启动Activity

adb shell am start [参数] <Intent>

启动服务
adb shell am startservice [参数] <Intent>

停止服务
adb shell am stopservice [参数] <Intent>

启动广播
adb shell am broadcast [参数] <INTENT>

文件操作

adb pull <手机文件夹或者文件> <电脑文件夹>

将手机中的文件拷贝到电脑上

adb push <local> <remote>

将文件推送到手机存储

adb shell rename path/oldfilename path/newfilename

重命名

adb shell rm -f <folder>

删除文件夹以及下面所有文件

adb shell mv path/file newpath/file

移动文件

adb shell touch .

创建一个隐藏文件

adb shell makedir <filename>

创建一个文件夹

adb shell cat <file>

查看文件内容

adb shell cat /data/misc/wifi/*.conf

查看wifi密码

adb shell getprop

读取系统配置信息

adb logcat -c

清除log缓存

小功能

adb shell input keyevent <keycode>

adb 命令代替键盘操作,不同的 keycode 能实现不同的功能

adb shell input text 123

输入文本在焦点处于某文本框时,可以通过 input 命令来输入文本。现在 123 出现在文本框中。

adb shell screencap -p /sdcard/sc.png

屏幕截图

adb shell screenrecord /sdcard/filename.mp4

录制 mp4 格式的视频保存到 /sdcard

<think>我们被要求提供adb常用命令的列表或指南。根据用户提供的引用[1]和[2],我们可以整理出一些常用adb命令。同时,我们也可以结合常见的adb使用场景来补充一些命令。 注意:用户要求生成相关问题,并且回答中引用的段落末尾要自然地添加引用标识。另外,我们还需要注意LaTeX格式的要求(但adb命令中可能较少涉及数学公式,所以主要关注命令列表的清晰呈现)。 以下是一些常用adb命令分类: ### 一、设备连接相关 1. **查看连接设备**:`adb devices` - 列出当前连接的设备[^1]。 2. **网络adb调试**: - 开启网络调试:`adb tcpip 5555`(5555为端口号)[^1]。 - 连接设备:`adb connect <设备IP地址>`,例如:`adb connect 10.135.192.30`[^1]。 - 断开连接:`adb disconnect <设备IP地址>`[^1]。 3. **USB调试**:通过USB连接设备后,使用`adb usb`切换回USB模式。 ### 二、应用管理 1. **列出所有已安装应用**: - `adb shell pm list packages` - 列出所有包名[^1]。 - `adb shell pm list packages -s` - 列出系统应用包名[^1]。 - `adb shell pm list packages -3` - 列出第三方应用包名[^1]。 - 显示应用路径:`adb shell pm list packages -f`[^2]。 2. **安装应用**:`adb install <apk文件路径>`。 3. **卸载应用**:`adb uninstall <包名>`。 4. **清除应用数据**:`adb shell pm clear <包名>`。 ### 三、文件操作 1. **将文件从电脑复制到设备**:`adb push <本地路径> <设备路径>`。 2. **将文件从设备复制到电脑**:`adb pull <设备路径> [本地路径]`。 ### 四、系统操作与调试 1. **进入设备shell**:`adb shell` - 进入设备的命令行环境。 2. **发送按键事件**:`adb shell input keyevent <键值>`,例如返回键`KEYCODE_BACK`的键值为4。 3. **输入文本**:`adb shell input text "文本内容"`,注意空格用`%s`代替[^2]。 4. **启动Activity**:`adb shell am start -n <包名>/<Activity全路径>`,例如:`adb shell am start -n com.android.settings/.Settings`。 5. **打开特定设置页面**:例如打开系统应用访问权限页面:`adb shell am start -a android.settings.USAGE_ACCESS_SETTINGS`[^1]。 6. **屏幕截图**:`adb shell screencap /sdcard/screenshot.png`,然后使用`adb pull /sdcard/screenshot.png`导出到电脑。 7. **屏幕录制**:`adb shell screenrecord /sdcard/demo.mp4`,按Ctrl+C停止录制,然后使用adb pull导出。 ### 五、日志查看 1. **查看日志**:`adb logcat` - 实时显示设备日志。 2. **将日志输出到文件**:`adb logcat > log.txt`。 ### 六、其他实用命令 1. **重启设备**:`adb reboot`。 2. **重启到Recovery模式**:`adb reboot recovery`。 3. **重启到Bootloader模式**:`adb reboot bootloader`。 4. **查看设备信息**:`adb shell getprop` - 获取设备的属性信息。 以上是adb常用命令的分类整理,覆盖了设备连接、应用管理、文件操作、系统调试等多个方面。用户可以根据需要选择使用。 注意:在使用adb命令时,请确保已正确安装ADB工具并配置环境变量,且设备已开启USB调试模式。 §§相关问题§§ 1. 如何解决adb设备无法识别的问题? 2. 如何使用adb命令进行性能分析(如CPU、内存)? 3. adb命令在自动化测试中有哪些应用? [^1]: adb 常用命令。打开系统应用访问权限页面 adb shell am start -a android.settings.USAGE_ACCESS_SETTINGS 5、打开网络adb 调试 adb tcpip 5555 (端口号) adb connect 10.135.192.30(Android 设备IP地址) 断开网络adb调试 adb disconnect 10.135.192.30 6、查看所有已安装的软件包 adb shell pm list packages 查看系统包名 adb shell pm list packages -s 查看第三方安装包 adb shell pm list packages -3 [^2]: ADB常用命令及其用法大全。注意:该命令可以查看手机上的APP名称。可以在后面加上 -f ,这样还能显示该APP的路径。 即: adb shell pm list packages -f 四.事件输入: input: 使用adb shell input命令向屏幕输入一些信息, 例如: adb shell input text "insert%stext%shere"</think>### ADB常用命令指南 ADB(Android Debug Bridge)是Android开发调试的核心工具,以下是分类整理的常用命令列表: #### 一、设备连接管理 1. **查看连接设备** `adb devices` - 列出所有连接的Android设备[^1] `adb devices -l` - 显示设备详细信息 2. **网络调试模式** ```bash adb tcpip 5555 # 开启网络调试端口[^1] adb connect 192.168.1.100 # 连接设备IP adb disconnect # 断开所有设备连接 ``` #### 二、应用管理 1. **应用包管理** ```bash adb shell pm list packages # 所有应用包名[^1] adb shell pm list packages -s # 系统应用[^1] adb shell pm list packages -3 # 第三方应用[^1] adb shell pm list packages -f # 显示应用路径[^2] ``` 2. **应用安装与卸载** ```bash adb install app.apk # 安装APK adb install -r app.apk # 覆盖安装 adb uninstall com.example.app # 卸载应用 ``` #### 三、文件操作 1. **文件传输** ```bash adb push local.txt /sdcard/ # 电脑→设备 adb pull /sdcard/remote.txt ./ # 设备→电脑 ``` 2. **文件浏览** `adb shell ls /sdcard` - 列出目录内容 `adb shell cat /proc/cpuinfo` - 查看文件内容 #### 四、系统控制 1. **Activity管理** ```bash adb shell am start -a android.settings.USAGE_ACCESS_SETTINGS # 打开系统设置页[^1] adb shell am force-stop com.example.app # 强制停止应用 ``` 2. **输入模拟** ```bash adb shell input text "Hello%sworld" # 输入文本(空格用%s)[^2] adb shell input keyevent 4 # 模拟返回键 ``` #### 五、调试与日志 1. **日志捕获** `adb logcat` - 实时显示系统日志 `adb logcat -v time > log.txt` - 保存带时间戳的日志 2. **设备信息** `adb shell getprop` - 查看系统属性 `adb shell dumpsys battery` - 电池状态 #### 六、高级功能 ```bash adb reboot # 重启设备 adb root # 获取root权限 adb shell # 进入设备Shell终端 adb backup -apk -shared -all # 完整设备备份 ``` > **使用提示**: > 1. 确保设备已开启`USB调试模式`(设置→开发者选项) > 2. 网络调试需设备与电脑在同一局域网 > 3. 使用`adb --help`查看命令详细帮助
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值