Linux基本知识(四):Android常用自动化命令
16lz
2021-01-26
常用命令
adb shell "uiautomator dump --compressed && cat /sdcard/window_dump.xmlinput text abcinput text 123input tap 1000 600input text 123input tap 1000 600input swipe 100 1500 800 500 input swipe 100 1500 800 500input swipe 100 1500 800 500input swipe 100 1500 800 500
注释
#以后的语句,shell不会解析
多行注释可以考虑采用:<<
传参
$0:表示执行的程序,是相对于执行目录的路径
$1、$2、$3:便是第几个参数,默认shell只支持9个参数,使用shift可以传递更多的参数
@ 、 @、 @、:表示所有的参数,不含$0
KaTeX parse error: Expected '}', got '#' at position 2: {#̲*}和{#@}表示位置参数的个数
通过 ∗ : 1 : 3 , {*:1:3}, ∗:1:3,{.$#}来表示多个参数
函数
[function]name(){...}
Function 可以省略。除了可以在脚本文件中使用函数外,还可以在shell中定义。这些定义会在本次shell结束后消失。
如果没有return,返回值是最后一句指令的返回值。
安装Android SDK,找到adb服务
启动一个模拟器adb devicesadb shelltop | 筛选条件
top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ] -m num Maximum number of processes to display. -n num Updates to show before exiting. -d num Seconds to wait between updates. -s col Column to sort by (cpu,vss,rss,thr). -t Show threads instead of processes. -h Display this help screen.
执行
调试
实际案例
封装函数
click(){adb shell input tap $( adb shell "uiautomator dump --compressed && cat /sdcard/window_dump.xml" | sed 's# | tr ^ '\n' | grep "$@" | awk -F '\\[|\\]|,' '{print ($(NF-2) +$(NF-5))/2, ($(NF-1)+$(NF-4))/2 }')}send_keys(){adb shell input text "$@"}swipe(){size=$(adb shell wm size)start=$(echo "$size" | awk -v x=$1 -v y=$2 -F ' |x' '{print $(NF-1)*x, $NF*y}')end=$(echo "$size" | awk -v x=$3 -v y=$4 -F ' |x' '{print $(NF-1)*x, $NF*y}')adb shell input swipe $start $end}
执行脚本
#摩拜的登录自动化localhost:~ seveniruby$ click 摩拜单车localhost:~ seveniruby$ click 请输入手机号localhost:~ seveniruby$ sendsend_keys sendmaillocalhost:~ seveniruby$ send_keys 11111111localhost:~ seveniruby$ click 请输入验证码localhost:~ seveniruby$ send_keys 1234localhost:~ seveniruby$ click '"确定"#滑动摩拜的地图localhost:~ seveniruby$ swipe 0.1 0.8 0.9 0.3localhost:~ seveniruby$ swipe 0.1 0.8 0.9 0.3localhost:~ seveniruby$ swipe 0.9 0.8 0.1 0.3localhost:~ seveniruby$ swipe 0.9 0.8 0.1 0.3
更多相关文章
- Android(安卓)圆形图圆形ImageView
- android 百度地图sdk v3.4 绘制历史轨迹
- Android(安卓)CreateBitmap
- AndroidX RecyclerView总结-测量布局
- android 中 Timer 的使用及源码分析
- android中回调函数
- android启动之SystemServer启动
- android 睡眠和唤醒过程
- Android启动过程 && Activity的生命周期 && Activity的开机自启