有测试问题请微信联系作者,备注来意(点击此处添加)
240
一名普通的测试打工人;专注自动化测试技术研究、实践、总结、分享、交流。
用我8年+的经历,给大家带来更多实用的干货。
人若有志,就不会在半坡停止。

【adb基础】adb详解及使用

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基础

【Shell基础】Bash基础与Linux三剑客

adb常用命令

# 启动服务
adb start-server

# 终止服务
adb stop-server

# tcpip命令在电脑端开启指定手机设备的tcpip端口(连接远程手机,步骤1:先usb连接手机,然后执行tcpip)
adb -s {deviceName} tcpip 5555

# 开启adb远程端口
adb nodaemon server -a -P 5037

# 启动adb service
adb service

# 连接设备
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 "$@"
posted @ 2024-02-04 21:30  三叔测试笔记  阅读(40)  评论(0编辑  收藏  举报
返回顶部 跳转底部