adb常用命令

 

adb命令

先进入shell

获取所有包名

pm list packages

如果知道部分名称,想查全称:

pm list packages | grep XXX

安装APK

adb install C:\Users\AllenJ\Desktop\线上\xiaomi_online.apk

卸载APK

adb uninstall com.yisheng.yonghu

 

覆盖安装

不论是低版本号还是相同版本号(试试r)

adb install -r xxx.apk

如果不行,再试试-d

那如果是降级安装呢?再加“-d”:

adb install -d D:\demo.apk

这样也行:

adb install -r -d D:\demo.apk


这里的“r”指的是“replace”,替换原来的应用;“-d”指的是“downgrade”,降级安装。

 

  1. adb devices 列出已连接的设备

  2. adb install path_to_apk 安装应用到系统

    adb -s emulator-5555 install xxx.apk 使用 -s 选项与 adb 命令来指定设备序列号

  3. adb uninstall com.example.a 卸载软件

    1. adb shell pm install path_to_apk

      常用选项

      1. -r 重新安装现有应用,并保留其数据
      2. -d 允许版本代码降级
      3. -g 授予应用清单中列出的所有权限
    2. adb shell pm uninstall package-name

      常用选项

      1. -k 移除软件包后保留数据和缓存目录
  4. adb pull remote local 从设备中复制某个文件或目录

  5. adb push local remote 将某个文件或目录(及其子目录)复制到设备

  6. adb shell screencap filename 屏幕截图

    # 截图并将其pull到电脑上来(用户目录)
    adb shell screencap /sdcard/screen.png
    adb pull /sdcard/screen.png
  7. adb sehll screenrecord [options] filename 录制视频

    常用选项

    1. -size 设置视频大小,如:adb shell screenrecord -size 1280x720 /sdcard/demo.mp4

    2. -bit-rate 设置视频的视频比特率(以 MB/秒为单位)

      如录制比特率设为 6Mbps:adb shell screenrecord --bit-rate 6000000 /sdcard/demo.mp4

    3. -time-limit 设置最大录制时长(以秒为单位)。默认值和最大值均为 180(3 分钟)。

    4. -rotate 将输出旋转 90 度

Logcat

  1. [adb] logcat [<option>] ... [<filter-spec>] ...
    1. adb logcat

    2. adb logcat -f <filename> 将日志写入文件。默认值为输出到 stdout

    3. adb logcat ActivityManager:I *:S 只输出tag为ActivityManager,优先级不低于info的日志消息

      可以在一个过滤器表达式中提供任意数量的 tag:priority规范

      表达式中最后一个元素 *:S 将所有标记的优先级设为“静默”,来确保系统仅显显示Tag是 ActivityManager 的日志消息。

    4. adb logcat -v color 用不同的颜色来显示每个优先级

    5. adb logcat -b radio 查看崩溃日志缓冲区

    6. adb logcat -c/--clear 清空所选/默认的缓冲区

      默认缓冲区集为 mainsystem 和 crash。如需清除所有缓冲区使用 -b all -c

调用 Activity 管理器 (am)

  1. adb shell am start [options] intent 启动由 intent 指定的 Activity

    1. start 常用选项 -D :启用调试功能

    2. intent 常用选项:

      -a action 指定 intent 的 Action
      -d data_uri 指定 intent 数据 URI
      -c category 指定 intent 类别
      -n component 指定带包名前缀的组件名称,创建显式 intent
      -f flags 添加Flag
      -e --es extra_key extra_string_value
      -ez extra_key extra_boolean_value 以键值对的形式添加布尔值数据
      --ei extra_key extra_int_value 以键值对的形式添加整数型数据
      --el extra_key extra_long_value 以键值对的形式添加长整型数据
      --ef extra_key extra_float_value 以键值对的形式添加浮点型数据
      --eu extra_key extra_uri_value 以键值对的形式添加 URI 数据
      --ecn extra_key extra_component_name_value 添加组件名称,作为 ComponentName 对象
      --eia extra_key extra_int_value[,extra_int_value...] 添加整数数组

      adb shell am start -n com.example.demo/com.example.demo.MainActivity

      adb shell am start -D -n com.example.demo/com.example.demo.MainActivity

      adb shell am start -a android.intent.action.VIEW

      adb shell am start -a android.intent.action.CALL -d tel:888***888

  2. adb shell am startservice intent 启动由 intent 指定的 Service

  3. adb shell am force-stop package 强行停止与 package 关联的所有进程

  4. kill [options] package 仅终止可安全终止且不会影响用户体验的进程

  5. kill-all 终止所有后台进程

  6. broadcast intent 发出广播 intent

    adb shell am broadcast -n "com.example.demo/com.example.demo.XxBroadcastReceiver" -f 0x00000020 --es "com.example.demo.intent.extra.EXTRA_XXX" "extra-value"

调用软件包管理器 (pm)

  1. adb shell pm list packages [options] filter 输出所有软件
    1. adb shell pm list package 输出所有软件

    2. adb shell pm list package com.example 输出所有软件

    3. adb shell pm list package -f 查看它们的关联文件

      > adb shell pm list packages -f -U example
      package:/data/app/xxx/base.apk=com.example.a uid:10111
      package:/data/app/xxx/base.apk=com.example.b uid:10111
      package:/data/app/xxx/base.apk=com.example.c uid:10111
    4. adb shell pm list package -3 进行过滤以仅显示第三方软件

    5. adb shell pm list package -f | grep example

    6. adb shell pm clear com.example. 删除与软件包关联的所有数据

posted @ 2022-07-04 13:57  很多无尾熊  阅读(336)  评论(0)    收藏  举报
本站已运行[ ]
正在加载今日诗词....