dumpsys
dumpsys是Android系统的调试工具,提供有关系统服务的信息
pm(Package Manager)
主要用于获取和安装在 Android 设备上的应用信息。
ADB运行架构
- adb client--->adb shell echo xxx
- adb server--->adb -l tcp:5037 fork-server server --reply-fd 4(可使用命令查看此服务ps -ef | grep adb)
- adbd--->adb shell ps | grep adbd
Shell基础
adb常用命令
# 启动服务
adb start-server
# 终止服务
adb stop-server
# tcpip命令在电脑端开启指定手机设备的tcpip端口(连接远程手机,步骤1:先usb连接手机,然后执行tcpip)
adb -s {deviceName} tcpip 5555
# 连接设备
adb connect ip:端口
# 获取设备信息
adb devices
# 断开连接
adb disconnect ip:端口
# 查看被占用端口对应的PID
netstat -aon | findstr "5556"
# 获取所有的dumpsys子命令
dumpsys | grep -i DUMP
# 获取当前activity
adb shell dumpsys activity top
# 获取activity的记录,可以获取到appium依赖的原始activity
dumpsys activity activities
# package信息查询
dumpsys package
# 获取指定包基本信息
adb shell dumpsys package com.xueqiu.android
# 查看日志信息
adb logcat -v -s ActivityManager > /sdcard/log.txt # -s 过滤内容
# 手机输出文件到PC
adb pull /data/log.txt E:\logs\log.txt
# PC输入文件到手机
adb push /data/log.txt E:\logs\log.txt
# 列出所有应用
adb shell pm list package
adb shell pm list package -f
# 列出第三方应用
adb shell pm list package -3
# 列出所有测试包
adb shell pm list instrumentation
# 安装与卸载
adb install {全路径文件} # -r 保留数据及缓存文件
adb uninstall {包名}
# 清除缓存数据
adb shell pm clear com.ablesky.ui.activity
# 截频并保存文件在手机上为xxx.png
adb shell /system/bin/screencap -p /sdcard/xxx.png
# 启动程序
adb shell am start -n com.ablesky.ui.activity/com.ablesky.activity.SplashActivity
# 杀掉某进程
taskkill /pid 2027 /f
# monkey
adb shell monkey -p 包名 -v -v 50 > xx.txt
# 参数注解:app包名 日志等级 50个随机事件 输出日志
adb shell monkey -p com.xiaxl.demo --pct-motion 10 --pct-touch 90 --throttle 300 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 192000 > 1.txt
# 获取系统通知
adb shell dumpsys notification
# 获得内存信息
adb shell dumpsys meminfo com.android.settings
# 获取CPU信息
adb shell dumpsys cpuinfo
# 获取GPU绘制分析
adb shell dumpsys gfxinfo com.android.settings
# 获取短信
adb shell dumpsys activity broadcasts | grep senderName=
# 获取手机分辨率
adb shell "dumpsys window | grep mUnrestrictedScreen"
# 获取手机设备型号
adb shell getprop ro.product.model
# 获取手机的序列号,有以下两种方式
adb get-serialno
adb shell getprop ro.serialno
# 获取手机的IMEI,有三种方式,由于手机和系统的限制,略有区别
adb shell dumpsys iphonesubinfo其中Device ID即为IMEI号
adb shell getprop gsm.baseband.imei
service call iphonesubinfo 1 # 此种方式,需要自己处理获取的信息得到
# 获取手机mac地址
adb shell cat /sys/class/net/wlan0/address
# 获取手机系统版本
adb shell getprop ro.build.version.release
# 获取手机系统api版本
adb shell getprop ro.build.version.sdk
# 获取手机厂商名称
adb shell getprop ro.product.brand
# 查看指定apk的包名
aapt dump badging +包的全路径
# 查看电池状态
adb shell dumpsys batter
# 重启手机
adb reboot
adb做hack
adb命令进行中转操作
代替adb.exe文件,中转后再执行adb.bak
# adb进行hack中转处理,打印$$(当前进程id)、获取ppid、获取输入的参数,输出到指定log文件中
echo "# $$ "$(date "+%Y/%m/%d %H:%M:%S")>> C:/InstallSoftware/android-sdk-windows/platform-tools/adb.log
echo "# ppid: $(ps |awk '{print $2}' | tail -1) $(ps |awk '{print $8}' | tail -1)" >> C:/InstallSoftware/android-sdk-windows/platform-tools/adb.log
echo "adb $@" >> C:/InstallSoftware/android-sdk-windows/platform-tools/adb.log
exec C:/InstallSoftware/android-sdk-windows/platform-tools/adb.bak "$@"
标签:shell,log,dumpsys,基础,获取,详解,adb,activity
From: https://www.cnblogs.com/upstudy/p/18006787