行业知识
Android之常用ADB命令(持续更新)
2026-11-05 09:55:43
来源:互联网转载
一、常用命令
1.安装应用
adb install xxx.apkadb install -r xxx.apk 覆盖安装adb install -l 锁定该应用程序adb install -t 允许测试包adb install -s 把应用程序安装到sd卡上adb install -d 允许降级安装adb install -g 为应用程序授予所有运行时的权限
2.卸载应用
adb uninstall 包名
3.启动应用
adb shell am start 包名/完整Activity路径如:adb shell am start com.example.test/com.example.test.MainActivity
4.查看已连接的设备列表
adb devices
5.无线连接设备
adb connect 手机ip(手机和电脑处于同一网段)
6.查看日志
adb logcatadb logcat > 文件名(将日志存储在文件中)'>' : 覆盖文件内容'>>' : 追加在文件末尾
7.获取包名
获取手机里所有的包名: adb shell pm list packages获取手机里所有的系统应用的包名: adb shell pm list packages -s获取手机里所有第三方软件的包名: adb shell pm list packages -3
8.清除缓存
adb shell pm clear 包名
9.停止应用
adb shell am force-stop 包名
二、性能相关
10.获取启动时间
adb shell am start -W 包名/activity名-W :获取时间-S:启动前强行停止应用 (冷启动的时间)-R 数字: 启动次数(可以求几次的平均值)注意:参数均为大写,顺序可以调整,但-R后必须是数字例如:adb shell am start -W -S -R 5 com.tpshop.malls/com.tpshop.malls.SplashActivity
11.获取内存信息
adb shell dumpsys meminfo [pkg/pid]Native/Dalvik的Heap信息:如果发现这个值一直增长,可能出现了内存泄漏Total的PSS信息:这个值是应用真正占据的内存大小
12.查看整个系统内存
// Android系统中,查看整个系统的内存详情adb shell cat /proc/meminfo
相关参数的详细解释如下所示:
MemTotal: 688576 kB 总内存MemFree: 153736 kB 空闲内存MemAvailable: 339884 kB 可用内存Buffers: 16 kB 给文件的缓冲大小Cached: 267672 kB 高速缓冲存储器SwapCached: 36 kB 被高速缓冲存储用的交换空间的大小Active: 222900 kB 活跃使用中的高速缓冲存储器页面文件大小Inactive: 123700 kB 不经常使用中的告诉缓冲存储器文件大小Active(anon): 31800 kB 活跃的匿名内存(进程中堆上分配的内存,是用malloc分配的内存)Inactive(anon): 57272 kB 不活跃的匿名内存Active(file): 191100 kB 活跃的file内存Inactive(file): 66428 kB 不活跃的file内存 Unevictable: 0 kB 不能被释放的内存页Mlocked: 0 kB mlock()系统调用锁定的内存大小SwapTotal: 2097148 kB 交换空间总大小SwapFree: 2096884 kB 空闲交换空间Dirty: 0 kB 等待被写回到磁盘的大小Writeback: 0 kB 正在被写回的大小AnonPages: 78876 kB 未映射页的大小Mapped: 28556 kB 设备和文件映射大小Shmem: 10160 kB 已经被分配的共享内存大小Slab: 102916 kB 内核数据结构缓存大小SReclaimable: 49616 kB 可收回slab的大小SUnreclaim: 53300 kB 不可回收的slab的大小KernelStack: 4416 kB kernel消耗的内存PageTables: 6028 kB 管理内存分页的索引表的大小NFS_Unstable: 0 kB 不稳定页表的大小Bounce: 0 kB 在低端内存中分配一个临时buffer作为跳转,把位于高端内存的缓存数据复制到此处消耗的内存WritebackTmp: 0 kB USE用于临时写回缓冲区的内存CommitLimit: 2441436 kB 系统实际可分配内存总量Committed_AS: 308028 kB 当前已分配的内存总量VmallocTotal: 34359738367 kB 虚拟内存大小VmallocUsed: 179588 kB 已经被使用的虚拟内存大小VmallocChunk: 34359310332 kB malloc 可分配的最大的逻辑连续的内存大小HardwareCorrupted: 0 kB 删除掉的内存页的总大小(当系统检测到内存的硬件故障时)AnonHugePages: 6144 kB 匿名 HugePages 数量CmaTotal: 0 kB 总的连续可用内存CmaFree: 0 kB 空闲的连续内存HugePages_Total: 0 预留HugePages的总个数 HugePages_Free: 0 池中尚未分配的 HugePages 数量HugePages_Rsvd: 0 表示池中已经被应用程序分配但尚未使用的 HugePages 数量HugePages_Surp: 0 这个值得意思是当开始配置了20个大页,现在修改配置为16,那么这个参数就会显示为4,一般不修改配置,这个值都是0Hugepagesize: 2048 kB 每个大页的大小DirectMap4k: 108416 kB 映射TLB为4kB的内存数量DirectMap2M: 940032 kB 映射TLB为2M的内存数量DirectMap1G: 0 kB 映射TLB为1G的内存数量
13.获取当前CPU占用情况
adb shell dumpsys cpuinfo
三、其他
14.截屏
adb shell screencap -p /sdcard/screenshot.png
上一篇:服务器加速卡怎么用?
下一篇:餐厅公众号怎么开通?