sl4a.apk 自动化
https://android.googlesource.com/platform/tools/test/connectivity/+/master/acts
id -u
0 root
2000 shell
当前时间
date `date +%m%d%H%M%G.%S`
dumpsys power | grep mWakefulness=
mWakefulness=Awake 亮屏
mWakefulness=Dozing 灭屏
屏幕亮度最小/最大/10%
cmd display set-brightness 0/1/0.1
################
## adb shell settings
##########
# 设置自动息屏 30分钟
settings put system screen_off_timeout 1800000
#####################################
SIM 信号
dumpsys telephony.registry |grep -i primary=
SIM 状态
getprop gsm.sim.state
急救号码列表
getprop ril.ecclist 或者
cmd phone emergency-number-test-mode -p
网络模式
settings get global preferred_network_mode
数据打开、关闭
cmd phone data enable\disable
数据漫游开关
settings get global data_roaming
SIM 服务
dumpsys telephony.registry | grep mServiceState
电话状态
dumpsys telephony.registry | grep mCallState
来电号码
dumpsys telephony.registry | grep mCallIncomingNumber
通话记录
dumpsys telecom
运营商配置(终端能力?)
dumpsys carrier_config
网络信息
dumpsys connectivity | grep NetworkAgentInfo
触发modem crash
echo restart > /sys/kernel/debug/msm_subsys/modem
或者
setprop persist.vendor.sys.modem.diag.mdlog false
am instrument -w -e request "4b 25 03 00" "com.google.mdstest/com.google.mdstest.instrument.ModemCommandInstrumentation"
打开网页
am start -a android.intent.action.VIEW -d "%s"' % url
查看飞行模式状态
dumpsys wifi | grep -i airplanemodeon |cut -f2 -d ' '
开飞行模式
settings put global airplane_mode_on 1 && am broadcast -a android.intent.action.AIRPLANE_MODE
关飞行模式
settings put global airplane_mode_on 0 && am broadcast -a android.intent.action.AIRPLANE_MODE
#############################
# adb shell am
# force-stop [--user <USER_ID> | all | current] <PACKAGE>
# Completely stop the given application package.
# -R: repeat the activity launch <COUNT> times.
# Prior to each repeat, the top activity will be finished.
# -S: force stop the target app before starting the activity
# -W: wait for launch to complete
#############################
打开设置///
am start -W -a android.settings.SETTINGS # 设置
android.settings.BLUETOOTH_SETTINGS # 蓝牙设置
android.settings.APPLICATION_SETTINGS # 应用信息
android.intent.action.POWER_USAGE_SUMMARY # 电池
android.app.action.SET_NEW_PASSWORD # 锁屏设置
# 启动前强制停止,重复3次, 打开WLAN 设置页面并等待页面打开完成
am start -S -R 3 -W -a android.settings.WIFI_SETTINGS
# 强杀应用
adb shell am force-stop com.android.settings
adb shell cmd activity force-stop com.youdao.dict
重置WLAN
cmd wifi settings-reset
打开/关闭WLAN
cmd wifi set-wifi-enabled enabled/disabled
WLAN 状态
cmd wifi status
WLAN 扫描/扫描结果/已保存的
cmd wifi start-scan/list-scan-results/list-networks
断开已连接的WiFi(list-networks 查看ID)
cmd wifi forget-network <networkId>
添加WiFi
add-network <ssid> open|owe|wpa2|wpa3 [<passphrase>] [-m] [-d] [-b <bssid>]
连接WiFi
connect-network <ssid> open|owe|wpa2|wpa3 [<passphrase>] [-m] [-d] [-b <bssid>]
eg. cmd wifi connect-network CoolpadAutoTest wpa2 coolpad
打开个人热点
cmd wifi start-softap <ssid> (open|wpa2) <passphrase> [-b 2|5|6|any]
关闭个人热点
cmd wifi stop-softap
模拟数据辅助上网
*cmd wifi set-connected-score <score>
Set connected wifi network score (to choose between LTE & Wifi for default route).
This turns off the active connected scorer (default or external).
Only works while connected to a wifi network. This score will stay in effect until you call reset-connected-score or the device disconnects from the current network.
<score> - Integer score should be in the range of 0 - 60
*cmd wifi reset-connected-score
Turns on the default connected scorer.
Note: Will clear any external scorer set.
###########################################
ps -ef | grep tcpdump
ifconfig | grep -v -E "r_|-rmnet" | grep -E "lan|data"
抓tcpdump
"adb -s %s shell tcpdump -i %s -s0 -w %s" % (ad.serial, intf, log_file_name)
抓ims tcpdump
"adb -s %s shell tcpdump -i %s -s0 -n -p udp port 500 or udp port 4500 -w %s" % (ad.serial, intf, log_file_name)
killall -9 tcpdump 或者
###########################################
Prints the UID, app name, version mapping.
cmd stats print-uid-map [PKG]
打开通知栏\快捷设置\收起
cmd statusbar expand-notifications\expand-settings\collapse
夜间模式
cmd uimode night [yes|no|auto|custom]
磁盘使用情况
df -h
路径下文件(文件夹)资源大小
du -d 4 -h /data
排序
du | sort -n
查看路径下文件
ls -lh /sdcard/Download/
截图
file_name = "/sdcard/Pictures/screencap"
file_name = "%s_%s" % (file_name, test_name)
"screencap -p %s" % file_name
删除截图
rm -rf /sdcard/Pictures/screencap_*
######## uiautomator ########
# 查找当前页面元素
uiautomator dump --window=WINDOW
"cat /sdcard/window_dump.xml | grep -E '%s'" % content
# 截取IMEI 号
1. 拨号盘输入*#06#
2. 进入adb shell
3. 输入 imei=$(uiautomator dump --compressed /dev/stdout|sed s/\>\<\/\\n/g|grep -A1 'IMEI 1'|tail -n1|sed -e 's/.*text=\"//' -e 's/\".*//'); echo ${imei:0:16}
调出最近任务,即发送"KEYCODE_MENU" 事件
adb shell input keyevent 1
如果不生效, 可使用adb shell am start 调起最近任务, 例如三星s8 可以执行如下命令:
adb shell am start -n com.sec.android.app.launcher/com.android.launcher3.quickstep.RecentsActivity
# 解锁屏幕
adb shell input keyevent 82
获取活动信息(APP的包名/活动名称)
adb shell dumpsys activity activities
当前路径文件详情,等效ll
adb shell ls -l
获取界面中呈现的更加精简的ayout信息, 包括android:id/content在内的通用外层ui结构都被拿掉了
adb shell uiautomator dump --compressed
# uiautomatorviewer.sh的路径 /Android/Sdk/tools/bin/
adb shell getprop
设备版本类型
[ro.build.type]: [user]
设备重新启动的原因
[ro.boot.bootreason]: [reboot,userrequested]
是否支持刷写解锁
[ro.oem_unlock_supported]: [1]
[sys.oem_unlock_allowed]: [0]
验证启动状态显示为橙色,则值为“0”,即已解锁
[ro.boot.flash.locked]: [0]
A/B系统升级
ro.build.ab_update
下载测试资源
3156 url_map = {
3157 "5MB": [
3158 "http://146.148.91.8/download/5MB.zip",
3159 "http://212.183.159.230/5MB.zip",
3160 "http://ipv4.download.thinkbroadband.com/5MB.zip"
3161 ],
3162 "10MB": [
3163 "http://146.148.91.8/download/10MB.zip",
3164 "http://212.183.159.230/10MB.zip",
3165 "http://ipv4.download.thinkbroadband.com/10MB.zip",
3166 "http://lax.futurehosting.com/test.zip",
3167 "http://ovh.net/files/10Mio.dat"
3168 ],
3169 "20MB": [
3170 "http://146.148.91.8/download/20MB.zip",
3171 "http://212.183.159.230/20MB.zip",
3172 "http://ipv4.download.thinkbroadband.com/20MB.zip"
3173 ],
3174 "50MB": [
3175 "http://146.148.91.8/download/50MB.zip",
3176 "http://212.183.159.230/50MB.zip",
3177 "http://ipv4.download.thinkbroadband.com/50MB.zip"
3178 ],
3179 "100MB": [
3180 "http://146.148.91.8/download/100MB.zip",
3181 "http://212.183.159.230/100MB.zip",
3182 "http://ipv4.download.thinkbroadband.com/100MB.zip",
3183 "http://speedtest-ca.turnkeyinternet.net/100mb.bin",
3184 "http://ovh.net/files/100Mio.dat",
3185 "http://lax.futurehosting.com/test100.zip"
3186 ],
3187 "200MB": [
3188 "http://146.148.91.8/download/200MB.zip",
3189 "http://212.183.159.230/200MB.zip",
3190 "http://ipv4.download.thinkbroadband.com/200MB.zip"
3191 ],
3192 "512MB": [
3193 "http://146.148.91.8/download/512MB.zip",
3194 "http://212.183.159.230/512MB.zip",
3195 "http://ipv4.download.thinkbroadband.com/512MB.zip"
3196 ]
adb shell 常用命令
于 2020-12-31 17:19:05 首次发布
这篇博客详尽列举了用于Android自动化测试和设备管理的各种ADB命令,包括设置屏幕亮度、网络模式、数据开关、SIM状态、WLAN操作、飞行模式、通知栏控制、磁盘使用情况、截图以及UI自动化测试等。这些命令对于开发者进行设备管理和测试流程自动化非常实用。
摘要由CSDN通过智能技术生成