当前位置: 首页 > news >正文

adb常用命令总结[持续更新]

文章目录

    • 官方查询地址
    • 什么情况有使用adb命令诉求?
    • 查询设备信息
      • 查看安卓版本 返回9,10,11
      • 获取系统api版本:返回28,29
      • 查询内存信息
      • 查询cpu信息
      • 查询机型
      • 查询屏幕相关
        • 像素密度
        • 分辨率
      • 查询电池信息
      • 分析性能常用命令
        • 查看内存占用
        • 查看cpu占用
        • 根据包名查询pid(进程号)

官方查询地址

在这里插入图片描述

什么情况有使用adb命令诉求?

  • 虽然Android Studio及其三方GUI插件已经很完备了,但是Android应用很广,手机只是一个应用场景,还有诸如:TV、手表、机车、或别的定制系统,其实就不一定随时方便连上adb,无法使用GUI工具、USB插口等情况,可能是通过串口等方式直接连到对应的Android系统中。

    • ADB idea插件:
      在这里插入图片描述
    • 跨端(Flutter开发)的AndroidADBTool在这里插入图片描述
      开源地址:https://github.com/EaniaHuui/android_tool在这里插入图片描述
  • GUI工具并不能满足所有的需求场景:比如查看内存、cpu信息,通过shell脚本输出内存、cpu占用、帧率曲线等。虽然有Profiler这种强大的工具,但是目前使用的情况,获取到的数据经常还存在误差。
    注:adb shell命令本质上是对于Android系统的操作命令。
    在这里插入图片描述

查询设备信息

查看安卓版本 返回9,10,11

adb shell getprop ro.build.version.release

在这里插入图片描述

获取系统api版本:返回28,29

adb shell getprop ro.build.version.sdk

在这里插入图片描述

查询内存信息

在linux系统中,/proc/目录下都会用文件的方式,存储着各种设备相关信息。比如:cpuinfo、meminfo、version(linux内核版本)等信息

adb shell cat /proc/meminfo

输出:

MemTotal:        5815012 kB //总的内存大小
MemFree:          424212 kB
MemAvailable:    3162140 kB	//可用内存大小
Buffers:          232832 kB
Cached:          2057404 kB
SwapCached:        10700 kB
Active:          2610536 kB
Inactive:         690156 kB
Active(anon):     835188 kB
Inactive(anon):   309728 kB
Active(file):    1775348 kB
Inactive(file):   380428 kB
...

或者使用dumpsys meminfo命令:

adb shell dumpsys meminfo [packageName] //需要指定查看某个包名对应进程占用内存时,后面带上packageName即可

输出结果:

Applications Memory Usage (in Kilobytes):
Uptime: 179965454 Realtime: 2420253989

Total PSS by process:
    253,766K: system (pid 1589)
    252,549K: com.android.systemui (pid 3672 / activities)
    238,455K: com.miui.home (pid 20309 / activities)
    176,473K: com.tencent.mm (pid 21083)
    145,484K: com.tencent.mm:push (pid 1625)
     91,356K: com.iflytek.inputmethod.miui (pid 7621)
     ...

Total PSS by OOM adjustment:
    432,299K: Native
         49,474K: android.hardware.camera.provider@2.4-service (pid 653)
         49,335K: surfaceflinger (pid 723)
         29,461K: logd (pid 546)
         22,543K: android.hardware.graphics.composer@2.1-service (pid 661)
         17,958K: zygote (pid 611)
         11,974K: webview_zygote (pid 3734)
         10,159K: qcrild (pid 1119)
         ...

Total PSS by category:
    530,002K: Native
    288,069K: .dex mmap
    227,496K: .art mmap
    217,753K: Dalvik
    153,504K: .so mmap
    129,412K: .oat mmap
    ...

Total RAM: 5,815,012K (status normal) //总内存大小和/proc/meminfo中是一样的
 Free RAM: 3,828,092K (  387,360K cached pss + 2,426,516K cached kernel +   595,148K cached ion +   419,068K free)
 Used RAM: 2,653,523K (2,112,671K used pss +   540,852K kernel)
 Lost RAM: 1,028,308K
     ZRAM:    93,492K physical used for   445,500K in swap (2,621,436K total swap)
   Tuning: 256 (large 512), oom   322,560K, restore limit   107,520K (high-end-gfx)

查询cpu信息

adb shell cat /proc/cpuinfo 

可看到cpu是几核,厂商信息。

Processor       : AArch64 Processor rev 12 (aarch64)
processor       : 0
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x7
CPU part        : 0x803
CPU revision    : 12

processor       : 1
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x7
CPU part        : 0x803
CPU revision    : 12

processor       : 2
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x7
CPU part        : 0x803
CPU revision    : 12

processor       : 3
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x7
CPU part        : 0x803
CPU revision    : 12

processor       : 4
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x7
CPU part        : 0x803
CPU revision    : 12

processor       : 5
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x7
CPU part        : 0x803
CPU revision    : 12

processor       : 6
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x6
CPU part        : 0x802
CPU revision    : 13

processor       : 7
BogoMIPS        : 38.40
Features        : fp asimd evtstrm aes pmull sha1 sha2 crc32 atomics fphp asimdhp
CPU implementer : 0x51
CPU architecture: 8
CPU variant     : 0x6
CPU part        : 0x802
CPU revision    : 13

Hardware        : Qualcomm Technologies, Inc SDM710

如上面是查看小米8SE的cpu信息,8核,高通的处理器。

查询机型

adb shell getprop ro.product.model

比如小米8SE输出:

MI 8 SE

查询屏幕相关

像素密度

adb shell wm density

分辨率

adb shell vm size

如果是修改像素密度,在上述命名后跟具体数值即可,设备界面上也会实时应用新的密度。

查询电池信息

adb shell dumpsys battery

分析性能常用命令

查看内存占用

adb shell dumpsys meminfo [packageName]

比如查看微信的内存信息:adb shell dumpsys meminfo com.tencent.mm
如下所示,该命令还能看到四大组件的数量,可用于分析Activity泄漏等性能问题。

dumpsys meminfo com.tencent.mm
Applications Memory Usage (in Kilobytes):
Uptime: 182816715 Realtime: 2423105250

** MEMINFO in pid 21083 [com.tencent.mm] **
                   Pss  Private  Private  SwapPss     Heap     Heap     Heap
                 Total    Dirty    Clean    Dirty     Size    Alloc     Free
                ------   ------   ------   ------   ------   ------   ------
  Native Heap    34177    34144        0    15484    88064    68780    19283
  Dalvik Heap    19662    19648        0      133    22771    11386    11385
 Dalvik Other     8554     8552        0      253
        Stack       84       84        0       24
       Ashmem        2        0        0        0
      Gfx dev    11528    11528        0        0
    Other dev       36        0       36        0
     .so mmap     5534      500     2120     4535
    .jar mmap       32       28        4      336
    .apk mmap     2353        0      884        0
    .ttf mmap      623        0      152        0
    .dex mmap    58593        0    57668       20
    .oat mmap     2424        0        0        0
    .art mmap    19564    19208        8    20240
   Other mmap      805        4      280        0
   EGL mtrack    27744    27744        0        0
    GL mtrack     2644     2644        0        0
      Unknown     3980     3980        0     2261
        TOTAL   241625   128064    61152    43286   110835    80166    30668

 App Summary
                       Pss(KB)
                        ------
           Java Heap:    38864
         Native Heap:    34144
                Code:    61356
               Stack:       84
            Graphics:    41916
       Private Other:    12852
              System:    52409

               TOTAL:   241625       TOTAL SWAP PSS:    43286

 Objects
               Views:      518         ViewRootImpl:        2
         AppContexts:        8           Activities:        2  //Activity数量能帮助分析内存泄漏
              Assets:       11        AssetManagers:        0
       Local Binders:       77        Proxy Binders:      146
       Parcel memory:       37         Parcel count:      149
    Death Recipients:       94      OpenSSL Sockets:        0
            WebViews:        0

 SQL
         MEMORY_USED:      732
  PAGECACHE_OVERFLOW:      228          MALLOC_SIZE:      117

 DATABASES
      pgsz     dbsz   Lookaside(b)          cache  Dbname
         4       96            109       11/79/13  /data/user/0/com.tencent.mm/no_backup/androidx.work.workdb
         4        8                         0/0/0    (attached) temp
         4       96             34         2/15/3  /data/user/0/com.tencent.mm/no_backup/androidx.work.workdb (3)
         4       28             56       167/36/6  /data/user/0/com.tencent.mm/databases/Scheduler.db

查看cpu占用

  • 第一种:dumpsys cpuinfo,但不是及时刷新的,是一段时间的平均值
adb shell dumpsys cpuinfo

输出:

Load: 0.0 / 0.0 / 0.0
CPU usage from 248217ms to 184018ms ago (2022-09-03 13:58:59.522 to 2022-09-03 14:00:03.722):
  47% 21083/com.tencent.mm: 34% user + 13% kernel / faults: 7825 minor
  28% 723/surfaceflinger: 18% user + 10% kernel
  13% 661/android.hardware.graphics.composer@2.1-service: 6.8% user + 6.2% kernel / faults: 44 minor
  5.3% 239/crtc_commit:99: 0% user + 5.3% kernel
  3.7% 246/kgsl_worker_thr: 0% user + 3.7% kernel
  2.8% 27448/kworker/u16:4: 0% user + 2.8% kernel
  2.5% 4533/irq/103-1436400: 0% user + 2.5% kernel
  2.2% 240/crtc_event:99: 0% user + 2.2% kernel
  1.9% 27447/kworker/u16:0: 0% user + 1.9% kernel
  1.7% 1589/system_server: 0.8% user + 0.8% kernel / faults: 1071 minor
  1.5% 27450/kworker/u16:12: 0% user + 1.5% kernel
  0.7% 3672/com.android.systemui: 0.6% user + 0% kernel / faults: 317 minor
  0.6% 668/android.hardware.sensors@1.0-service: 0.2% user + 0.3% kernel
  0.5% 7/rcu_preempt: 0% user + 0.5% kernel

第二种:top命令,是linux系统的原生命令,是顺时的,及时刷新的

adb shell top -n 1 //类似于windows的任务管理器,查看cpu占用情况

输出:

Tasks: 706 total,   1 running, 704 sleeping,   0 stopped,   0 zombie
Mem:   5815012k total,  5731852k used,    83160k free,   235892k buffers
Swap:  2621436k total,   422028k used,  2199408k free,  2200852k cached
800%cpu  69%user   0%nice  48%sys 676%idle   0%iow   3%irq   3%sirq   0%host
  PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS
21083 u0_a168      10 -10 4.9G 217M 186M S 51.7   3.8  26:28.20 com.tencent.mm
  723 system       -2  -8 2.0G  24M  18M S 31.0   0.4  53:30.95 surfaceflinger
27538 shell        20   0  11M 4.2M 3.2M R 24.1   0.0   0:00.08 top -n 1
  661 system       -3  -8  66M 7.7M 4.4M S 13.7   0.1  22:17.03 android.hardwar+
26139 root         20   0    0    0    0 S  6.8   0.0   0:20.59 [kworker/u16:5]
26567 root         20   0    0    0    0 S  3.4   0.0   0:01.54 [kworker/0:0]
 4533 root         RT   0    0    0    0 S  3.4   0.0   5:38.84 [irq/103-143640+
 4448 root         RT   0    0    0    0 S  3.4   0.0   8:47.64 [sugov:6]
 1589 system       18  -2 4.8G 284M 284M S  3.4   4.9 143:57.82 system_server
  246 root         -3   0    0    0    0 S  3.4   0.0   6:46.47 [kgsl_worker_th+
  239 root         RT   0    0    0    0 S  3.4   0.0  31:17.51 [crtc_commit:99]
   61 root         20   0    0    0    0 S  3.4   0.0   0:37.33 [rcuop/6]
27537 root          0 -20    0    0    0 S  0.0   0.0   0:00.00 [kworker/0:1H]
27536 root         20   0    0    0    0 S  0.0   0.0   0:00.00 [kworker/u16:9]
27535 root         20   0    0    0    0 S  0.0   0.0   0:00.00 [kworker/u16:6]
27534 root         20   0    0    0    0 S  0.0   0.0   0:00.00 [kworker/u16:2]
27512 root         20   0    0    0    0 S  0.0   0.0   0:00.02 [kworker/1:1]
27468 u0_a36       20   0 3.7G 101M  88M S  0.0   1.7   0:00.46 com.android.cam+
27467 root         20   0    0    0    0 S  0.0   0.0   0:00.00 [kworker/0:2]
27460 root         20   0    0    0    0 S  0.0   0.0   0:00.00 [kworker/2:1]

如上图可见,top命令能看到更多的信息:

  • 总的cpu比例,上面的设备是8核,所以总共是800%
  • 空闲cpu比例,idle这一列

根据包名查询pid(进程号)

adb shell pidof packag_name

举例:查询com.tencent.mm的进程号
在这里插入图片描述

相关文章:

  • 二分查找练习
  • 【Unity面试】 Lua语言基础核心 | 面试真题 | 全面总结 | 建议收藏
  • 结构化编程(SP,structured programming)
  • Python 博客园快速备份脚本
  • Vue - 列表拖曳排序 / 鼠标拖动改变顺序排列高效简洁组件(支持PC端与移动端触屏拖动,也可在滚动条内排序自动滚动,流畅丝滑无 BUG)
  • JavaWeb三大组件之Servlet------Servlet详细讲解
  • 解决nacos集群搭建,服务注册失败
  • 瑞吉外卖Linux
  • 准备去「技术出海峰会」看看
  • Java毕设项目-OA办公系统
  • C# Post请求上传文件_C#Post请求带文件
  • Flutter:文本组件
  • ANSYS2021安装过程问题总结
  • 洛谷 P3119【分层图】【tarjan】
  • Reggie外卖项目 —— 项目开发整体介绍
  • [译]如何构建服务器端web组件,为何要构建?
  • 345-反转字符串中的元音字母
  • android百种动画侧滑库、步骤视图、TextView效果、社交、搜房、K线图等源码
  • Angular 响应式表单 基础例子
  • go append函数以及写入
  • JavaScript HTML DOM
  • Less 日常用法
  • nfs客户端进程变D,延伸linux的lock
  • React as a UI Runtime(五、列表)
  • Vue.js 移动端适配之 vw 解决方案
  • 构建二叉树进行数值数组的去重及优化
  • 开发基于以太坊智能合约的DApp
  • 悄悄地说一个bug
  • 使用API自动生成工具优化前端工作流
  • 视频flv转mp4最快的几种方法(就是不用格式工厂)
  • 新版博客前端前瞻
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • 回归生活:清理微信公众号
  • 如何在招聘中考核.NET架构师
  • 新年再起“裁员潮”,“钢铁侠”马斯克要一举裁掉SpaceX 600余名员工 ...
  • ​iOS安全加固方法及实现
  • ${factoryList }后面有空格不影响
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (30)数组元素和与数字和的绝对差
  • (arch)linux 转换文件编码格式
  • (笔试题)分解质因式
  • (二十五)admin-boot项目之集成消息队列Rabbitmq
  • (附源码)spring boot公选课在线选课系统 毕业设计 142011
  • (附源码)springboot青少年公共卫生教育平台 毕业设计 643214
  • (附源码)ssm跨平台教学系统 毕业设计 280843
  • (学习日记)2024.03.25:UCOSIII第二十二节:系统启动流程详解
  • (源码版)2024美国大学生数学建模E题财产保险的可持续模型详解思路+具体代码季节性时序预测SARIMA天气预测建模
  • .NET Core MongoDB数据仓储和工作单元模式封装
  • .NET Micro Framework初体验
  • .NET成年了,然后呢?
  • .NET大文件上传知识整理
  • .NET中的十进制浮点类型,徐汇区网站设计
  • [ Linux ] Linux信号概述 信号的产生
  • [ NOI 2001 ] 食物链
  • [ 数据结构 - C++]红黑树RBTree