常用的ADB命令

1 篇文章 0 订阅

常用的ADB命令

  • 查看adb版本信息
    adb version

  • 检查adb连接是否成功
    adb shell

  • 常用命令

    cat 显示文件内容
    ​ cd 切换目录
    ​ chmod 改变文件的存取模式/访问权限
    ​ df 查看磁盘空间使用情况
    ​ grep 过滤输出
    ​ kill 杀死指定 PID 的进程
    ​ ls 列举目录内容
    ​ mount 挂载目录的查看和管理
    ​ mv 移动或重命名文件
    ​ ps 查看正在运行的进程
    ​ rm 删除文件

  • 获取root权限

    命令:adb root
    ​ 正常输出:restarting adbd as root
    ​ PS:再执行命令:adb shell ,命令行提示符会变成“#”
    ​ 恢复非root权限:adb unroot

  • 安装apk命令:adb install -r “目录以及名称” ps:-r表示覆盖安装
    adb install [-l|-r|-t|-s|-d|-g] <path_to_apk>
    ​ -l 将应用安装到保护目录 /mnt/asec
    ​ -r 允许覆盖安装
    ​ -t 允许安装 AndroidManifest.xml 里 application 指定 android:testOnly=“true” 的应用
    ​ -s 将应用安装到 sdcard
    ​ -d 允许降级覆盖安装
    ​ -g 授予所有运行时权限
    ​ adb install原理
    ​ 1 push apk 文件到 /data/local/tmp。
    ​ 2 调用 pm install 安装。
    ​ 3 删除 /data/local/tmp 下的对应 apk 文件。

  • 卸载apk
    adb uninstall [-k]
    ​ -k 卸载应用但保留数据和缓存目录

  • 查看应用列表

    基本命令格式:adb shell pm list packages [-f|-d|-e|-s|-3|-i|-u] [–user USER_ID] [FILTER]
    ​ 无 所有应用
    ​ -f 显示应用关联的 apk 文件
    ​ -d 只显示 disabled 的应用
    ​ -e 只显示 enabled 的应用
    ​ -s 只显示系统应用
    ​ -3 只显示第三方应用
    ​ -i 显示应用的 installer
    ​ -u 包含已卸载应用
    ​ 包名包含 字符串

  • 强制停止应用
    命令:adb shell am force-stop
    命令示例:adb shell am force-stop com.qihoo360.mobilesafe 表示停止 360 安全卫士的一切进程与服务

  • 重启设备
    adb reboot

  • 对设备中的文件输出电脑
    ​ adb pull <设备里的文件路径> [电脑上的目录] 复制文件到设备

  • 对电脑中的文件输出设备
    adb push <电脑上的文件路径> <设备里的目录> 模拟按键/输入

  • 截图录制屏幕
    屏幕截图:adb exec-out screencap -p > sc.png
    ​ 录制屏幕:adb shell screenrecord /sdcard/filename.mp4 PS:停止快捷键:ctrl+c;默认时长180秒

  • 日志以及命令
    [adb] logcat [] … [] …
    ​ 级别:V Verbose(最低,输出得最多)
    ​ D Debug
    ​ I Info
    ​ W Warning
    ​ E Error
    ​ F Fatal
    ​ S Silent(最高,啥也不输出)
    ​ 举例:adb logcat :W PS:macOS系统以作为tag的参数需加双引号
    ​ adb logcat ActivityManager:I MyApp:D *:S PS: 可以由多个 [:priority] 组成
    ​ 表示:输出 tag ActivityManager 的 Info 以上级别日志,输出 tag MyApp 的 Debug 以上级别日志,及其它 tag 的 Silent 级别日志
    指定日志格式:adb logcat -v
    ​ format:brief,process,tag,raw,time,threadtime,long
    ​ 类型 输出格式
    ​ brief /(): (默认格式)
    ​ process ()
    ​ tag /:
    ​ raw
    ​ time /():
    ​ threadtime :
    ​ long [ : / ]

    ​ 格式指定与过滤同时使用:adb logcat -v long ActivityManager:I *:S
    清空日志:adb logcat -c
    内核日志:adb shell dmesg
    ​ PS:"[]"内表示内核开始启动后的时间,单位为秒
    ​ "Freeing init memory"表示内核启动时间

  • 查看进程Uid
    方法1:adb shell dumpsys package | grep userId=
    ​ 方法2:adb shell ps → adb shell cat /proc//status | grep Uid

  • 查看进程
    adb shell ps
    ​ PS:USER:所属用户,PID:进程ID,PPID:父进程 ID,NAME:进程名

  • 查看资源占用
    adb shell top
    ​ PID 进程 ID
    ​ PR 优先级
    ​ CPU% 当前瞬间占用 CPU 百分比
    ​ S 进程状态(R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)
    ​ #THR 线程数
    ​ VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
    ​ RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存)
    ​ PCY 调度策略优先级,SP_BACKGROUND/SPFOREGROUND
    ​ UID 进程所有者的用户 ID
    ​ NAME 进程名
    ​ top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ]
    ​ -m num 最多显示多少个进程
    ​ -n num 刷新多少次后退出
    ​ -d num 刷新时间间隔(单位秒,默认值 5)
    ​ -s col 按某列排序(可用 col 值:cpu, vss, rss, thr)
    ​ -t 显示线程信息
    ​ -h 显示帮助文档

  • 使用monkey压力测试
    ​ 开启:adb shell monkey -p -v 500
    ​ 关闭:adb shell → top | grep monkey(获取到进程id) → kill -9 进程id
    ​ 检查进程是否关闭:top | grep monkey

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值