adb 常用操作

作者: TripleZhao | 来源:发表于2018-08-19 23:38 被阅读19次

adb 基本操作 “坐下坐下”

  • adb devices // 查看设备
  • adb -s serialNumber shell // 进入指定设备
  • adb logcat // 查看日志
    • logcat | grep <str> //显示包含<str>的 logcat</str>
    • logcat | grep -i <str> //显示包含<str>,并忽略大小写的 logcat</str>
    • logcat | grep pid //显示pid进程的日志
  • adb get-state // 连接状态
  • adb start-server // 启动 ADB 服务
  • adb kill-server // 停止 ADB 服务
  • adb push local remote // 电脑推送到手机
  • adb pull remote local // 手机拉取到电脑

Am

命令 功能 实现方法
am start [options] <INTENT> 启动 Activity startActivityAsUser
am startservice <INTENT> 启动 Service startService
am stopservice <INTENT> 停止 Service stopService
am broadcast <INTENT> 发送广播 broadcastIntent
am kill <PACKAGE> 杀指定后台进程 killBackgroundProcesses
am kill-all 杀所有后台进程 killAllBackgroundProcesses
am force-stop <PACKAGE> 强杀进程 forceStopPackage
am hang 系统卡住(慎用!!!) hang
am restart 重启 restart
am bug-report 创建 bugreport requestBugReport
am dumpheap <pid> <file> 进程 pid 的堆信息输出到 file dumpheap
am send-trim-memory <pid> <level> 收紧进程的内存 setProcessMemoryTrimLevel
am monitor 监控 MyActivityController.run

Example

adb shell am start -a android.intent.action.CALL -d tel:10086 //打电话给10086
adb shell am start -a android.intent.action.VIEW -d https://www.baidu.com打开百度

主要是启动 Activity 命令am start [options] <INTENT>使用 options 参数,接下来列举 Activity 命令的 [options] 参数:

<OPTIONS>

  • -D: 允许调试功能
  • -W: 等待 app 启动完成
  • -R <COUNT>: 重复启动 Activity COUNT 次
  • -S: 启动 activity 之前,先调用 forceStopPackage() 方法强制停止 app.
  • –opengl-trace: 运行获取 OpenGL 函数的 trace
  • –user <USER_ID> | current: 指定用户来运行 App, 默认为当前用户。
  • –start-profiler <FILE>: 启动 profiler,并将结果发送到 <FILE>;
  • -P <FILE>: 类似 –start-profiler,不同的是当 app 进入 idle 状态,则停止 profiling
  • –sampling INTERVAL: 设置 profiler 取样时间间隔,单位 ms;

<INTENT>

  • -a <ACTION>: 指定 Intent action, 实现原理 Intent.setAction();
  • -n <COMPONENT>: 指定组件名,格式为 {包名}/.{主 Activity 名},实现原理 Intent.setComponent();
  • -d <DATA_URI>: 指定 Intent data URI
  • -t <MIME_TYPE>: 指定 Intent MIME Type
  • -c <CATEGORY> [-c <CATEGORY>] ...]: 指定 Intent category,实现原理 Intent.addCategory()
  • -p <PACKAGE>: 指定包名,实现原理 Intent.setPackage();
  • -f <FLAGS>: 添加 flags,实现原理 Intent.setFlags(int),紧接着的参数必须是 int 型;

Pm

命令 功能 实现方法
list packages 列举 app 包信息 PMS.getInstalledPackages
install [options] <PATH> 安装应用 PMS.installPackageAsUser
uninstall [options]<package> 卸载应用 IPackageInstaller.uninstall
enable <包名或组件名> enable PMS.setEnabledSetting
disable <包名或组件名> disable PMS.setEnabledSetting
hide <package> 隐藏应用 PMS.setApplicationHiddenSettingAsUser
unhide <package> 显示应用 PMS.setApplicationHiddenSettingAsUser
get-install-location 获取安装位置 PMS.getInstallLocation
set-install-location 设置安装位置 PMS.setInstallLocation
path <package> 查看 App 路径 PMS.getPackageInfo
clear <package> 清空 App 数据 AMS.clearApplicationUserData
get-max-users 最大用户数 UserManager.getMaxSupportedUsers
force-dex-opt <package> dex 优化 PMS.forceDexOpt
dump <package> dump 信息 AM.dumpPackageStateStatic
trim-caches <目标size> 紧缩 cache 目标大小 PMS.freeStorageAndNotify

安装应用
pm install [options] <PATH>

<options>

  • -r: 覆盖安装已存在 Apk,并保持原有数据;
  • -d: 运行安装低版本 Apk;
  • -t: 运行安装测试 Apk
  • -i : 指定 Apk 的安装器;
  • -s: 安装 apk 到共享快存储,比如 sdcard;
  • -g: 准许 Apk manifest 中的所有权限;

<PATH>

该参数是必须的,是指需要安装的 apk 所在的路径。

查看包名
list packages [options] <FILTER>

<options>

  • -f: 显示包名所关联的文件;
  • -d: 只显示 disabled 包名;
  • -e: 只显示 enabled 包名;
  • -s: 只显示系统包名;
  • -3: 只显示第 3 方应用的包名;
  • -i: 包名所相应的 installer;
  • -u: 包含 uninstalled 包名.

<FILTER> :sangfor

adb shell pm list packages sangfor


image.png

ps 进程命令

  • adb shell ps //查看当前的所有进程
    image.png
FIELD Description
USER 进程持有者名称
PID 进程 ID
PPID 父进程 ID
VSZ 进程在虚拟内存所占的空间大小 (KB)
RSS 进程实际所使用的物理内存大小(KB)
WCHAN Waiting Channel, 进程等待正在等待的某个事件,如果为空,则表示进程处于运行状态
NAME 进程名
  • adb shell ps -T |grep pid //查看pid进程下的所有线程

相关文章

  • 常用ADB指令总结

    1 常用Linus文件操作指令: 2 adb相关指令 adb shell指令 adb shell是指从PC进入目标...

  • adb 常用操作

    adb 基本操作 “坐下坐下” adb devices // 查看设备 adb -s serialNumber s...

  • adb,logcat使用及对Android设备的操作

    adb,logcat使用及对Android设备的操作 adb常用命令 查看连接到本机的所有的设备命令:adb de...

  • ADB常用命令和操作

    常用操作 显示当前接入的Android设备 开启、关闭adb服务 查看日志输出 adb安装apk 卸载app 列出...

  • Android Studio插件推荐

    工欲善其事,必先利其器 1. ADB Idea:ADB命令快捷操作 能快速实现多种ADB常用的功能: 命令说明AD...

  • Android自动化之AccessibilityService模

    一种是使用adb命令模拟操作,一种是AccessibilityService。 常用操作 点击:长按:输入:按键:...

  • adb常用操作命令总结

    介绍 针对移动端Android的测试,掌握adb命令将会为Android测试带来很大的便利。adb全称是Andro...

  • adb_记录常用操作

    1. 得到应用的包名: 运行该app,然后执行命令: 2. copy文件到其他目录 3. 获取正在运行的程序包名 ...

  • 2019-04-19

    adb常用命令 adb devices

  • Android ADB常用指令

    Android ADB常用指令 启动adb服务 adb start-server 关闭adb服务 adb kill...

网友评论

    本文标题:adb 常用操作

    本文链接:https://www.haomeiwen.com/subject/ypmebftx.html