linux下用于android的自动脚本

adb 获取手机点击坐标

1. adb shell
2. getevent
3. 点击手机,控制台输出
4. 以003 0035和003 0036 开头的两条数据为16进制坐标
5. 16进制转换成10进制为x、y坐标
/dev/input/event4: 0003 0035 00000223
/dev/input/event4: 0003 0036 000008bc

进制转换地址

adb 模拟点击、滑动、输入、按键

  1. 模拟输入“001”
adb shell input text “001”
  1. 模拟home按键
adb shell input keyevent 3
  1. 模拟点击(540, 1104)坐标
adb shell input tap 540 1104
  1. 模拟滑动,从(250,250)滑动到(300,300)
adb shell input swipe 250 250 300 300

Linux shell 用for循环100次的方法

  1. C语言风格
for ((i=1; i<=100; i++))
do
    echo $i
done
  1. Python风格(in的使用)
for i in {1..100}
do
    echo $i
done
  1. Seq的使用
    注意代码中不是单引号。
for i `seq 1 100`
do
    echo $i
done

adb 启动任意app

  1. 知道app包名和主Activity
adb shell am start +包名/.Activity (要启动的Activity) 

例:adb shell am start com.android.settings/.HWSettings

adb shell am start -W -n 包名/.Activity

例:adb shell am start -W -n com.android.settings/.Settings$ApnEditorActivity

  1. 包名和主Activity都不知道

2.1,获取app包名
2.2,获取主(要启动的)Activity有如下几种:
2.2.1,cmd 命令行中执行adb shell dumpsys package app包名
2.2.2,通过aapt 工具;cmd进入命令行,cd进入aapt 所在的目录,例如:E:\SDK\build-tools\27.0.2,执行 aapt dump badging C:\Users\lza\Desktop\app-debug.apk | findstr “activity”,注意:这个方法需要有apk;
2.2.3,cmd命令行执行 adb shell 进入Android系统命令中,再执行 dumpsys window w | grep mCurrent
C:\Users\Ang>adb shell
shell@hwALE-H:/ $ dumpsys window w | grep mCurrent
mCurrentFocus=Window{6bf99ff u0 com.android.settings/com.android.settings.HWSettings}
2.2.4,cmd命令行执行 adb shell 进入Android系统命令中,再执行 dumpsys activity | grep mFocusedActivity
2.2.5,cmd命令行执行 adb shell 进入Android系统命令中,再执行 dumpsys window windows | findstr “Current”
注意:2.2.3,2.2.4,2.2.5需要app在前台运行;以上命令有些对都是针对第三方应用;系统应用2.2.3可以直接获取,其他方式不太直观,或者获取不到;
2.2.6,最后和一一样,在cmd 命令行中执行adb shell am start +包名/.Activity (要启动的Activity) 或者 adb shell am start -W -n 包名/.Activity; 注意是cmd 命令行中不是执行adb shell之后的Android命令行中;

  1. 关闭App
adb shell am force-stop app包名

例:adb shell am force-stop com.android.settings关闭系统设置;

adb shell pm clear app包名

例: adb shell pm clear app com.android.settings 关闭系统设置

控制按键输入的数值

利用命令“adb shell input keyevent <键值>”可以实现自动化。
例如“adb shell input keyevent 3”就可以按下Home键。

执行返回:adb shell input keyevent 4
执行灭屏亮屏:adb shell input keyevent 26
执行解锁屏幕:adb shell input keyevent 82

KEYCODE_CALL 进入拨号盘 5
KEYCODE_ENDCALL 挂机键 6
KEYCODE_HOME 按键Home 3
KEYCODE_MENU 菜单键 82
KEYCODE_BACK 返回键 4
KEYCODE_SEARCH 搜索键 84
KEYCODE_CAMERA 拍照键 27
KEYCODE_FOCUS 拍照对焦键 80
KEYCODE_POWER 电源键 26
KEYCODE_NOTIFICATION 通知键 83
KEYCODE_MUTE 话筒静音键 91
KEYCODE_VOLUME_MUTE 扬声器静音键 164
KEYCODE_VOLUME_UP 音量增加键 24
KEYCODE_VOLUME_DOWN 音量减小键 25

控制键
KEYCODE_ENTER 回车键 66
KEYCODE_ESCAPE ESC键 111
KEYCODE_DPAD_CENTER 导航键 确定键 23
KEYCODE_DPAD_UP 导航键 向上 19
KEYCODE_DPAD_DOWN 导航键 向下 20
KEYCODE_DPAD_LEFT 导航键 向左 21
KEYCODE_DPAD_RIGHT 导航键 向右 22
KEYCODE_MOVE_HOME 光标移动到开始键 122
KEYCODE_MOVE_END 光标移动到末尾键 123
KEYCODE_PAGE_UP 向上翻页键 92
KEYCODE_PAGE_DOWN 向下翻页键 93
KEYCODE_DEL 退格键 67
KEYCODE_FORWARD_DEL 删除键 112
KEYCODE_INSERT 插入键 124
KEYCODE_TAB Tab键 61
KEYCODE_NUM_LOCK 小键盘锁 143
KEYCODE_CAPS_LOCK 大写锁定键 115
KEYCODE_BREAK Break/Pause键 121
KEYCODE_SCROLL_LOCK 滚动锁定键 116
KEYCODE_ZOOM_IN 放大键 168
KEYCODE_ZOOM_OUT 缩小键 169

参照:https://blog.csdn.net/qq_23521659/article/details/95475787
https://blog.csdn.net/wr339988/article/details/70768499
https://blog.csdn.net/liukang325/article/details/79268173
https://blog.csdn.net/ezconn/article/details/99885715
https://www.jb51.net/article/173177.htm

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值