使用用 bat 脚本启动手机桌面 app
最近有将手机桌面上的app依次启动、退回到桌面的需求,学习了一波,下面和大家一起分享下。示例手机是小米10青春版。
1. 设计思路
开始想着用app的包名来启动,尝试了后发现太复杂,难以实现按桌面排布顺序依次启动。后来想到了玩游戏时用得自动点击脚本,我们启动app也可以按照桌面坐标来输出点击事件即可。所以需要做几件事:(1)获得桌面所有app的坐标;(2)循环进行点击事件;(3)一屏点击完后,滑动到下一屏。
2. 实现
2.1 获得桌面app所有坐标
在屏幕上放满应用,启动 cmd,输入 adb shell getevent
,点击左上角的app,cmd 输出 如图:
0035所在行最后一栏的数字就是 x 坐标:c6;0036所在行最后一栏的数字就是 y 坐标:11d
该坐标为16进制,转换为十进制坐标就是 (198,285)
测试坐标是否能启动目标位置app: cmd 输入 adb shell input tap 198 285
,如果能启动则坐标可用。
用同样的方法获得右下角 app 位置处的坐标,(3b7, 71e)—>(951,1822)
我手机桌面app的排布是 4 × 6,所以app的横向排布间距为 (951-198)/3 ≈250,纵向间距为 (1822-285)/5≈307.
2.2 循环输出点击事件
先启动第一行 app 做测试,以下是在 bat 脚本中命令,在 cmd 中 %%
写为 %
for /l %%x in (198,250,951) do adb shell input tap %%x 285 & timeout /T 3 & adb shell input keyevent HOME & timeout /T 2
for /l %%x in (198,250,1000)
:在 198 到 951 间以 250 为间隔循环
timeout /T waittTme
:等待 waitTime 秒
&
:连接两个 cmd 命令,无论前一条是否成功,都会执行后一条
同样测试第一列:
for /l %%y in (285,307,1822) do adb shell input tap 198 %%y & timeout /T 3 & adb shell input keyevent HOME & timeout /T 2
测试通过后,测试启动整屏 app,直接硬套二重 for 即可:
for /l %%y in (285,307,1822) do for /l %%x in (198,250,951) do adb shell input tap %%x %%y & timeout /T 3 & adb shell input keyevent HOME & timeout /T 2
该内容存储为 E:\adb\startAppCurrentPage.bat
。
2.3 屏幕滑动
adb shell input swipe 600 1000 400 1000
(600,1000):滑动起点的(x,y)
(400,1000):滑动终点的(x,y)
能实现依次启动桌面 app然后返回桌面,并滑动到下一屏继续执行的 bat 脚本完成了:
for /l %%i in (1,1,3) do E:\adb\startAppCurrentPage.bat & adb shell input swipe 600 1000 400 1000 & timeout /T 2
3 注意
timeout /T waitiTime
不可少,启动app、回桌面、滑屏都需要时间,不等待手机系统会跟不上节奏;
坐标不一定能一次找成功,因为是大概计算的,可能某个位置的app坐标不准确,多调整调整起点、终点、间隔值就好。
使用用 bat 脚本启动手机桌面 app相关推荐
- 使用bat脚本启动指定目录下的jar包
为了将一个java程序封装成一个简单易用的小工具,使用bat脚本启动jar包. 方便理解,贴图展示层级关系: 在txt文档中,键入: @echo off java -jar %~dp0core\dem ...
- bat脚本启动Java服务
bat脚本启动Java服务 1.终端cmd窗口运行jar 2. bat脚本启动jar包 3.后台启动bat脚本 4. 运行bat只启动一次jar服务及停止脚本 5.注意事项 6.所用资源 1.终端cm ...
- html自动执行bat,bat脚本启动程序 怎么命令bat打开某个文件
CSS布局HTML小编今天和大家分享一BAT脚本运行某指定路径程序 执行的程序路径及参数如下: C:\Program Files\McAfee\Common Framework是00010010110 ...
- 记录bat脚本启动IE11并启用ActiveX控件
业务需要,使用了Flash插件,为了实现IE启动时避免插件被禁用,全屏显示,启用相关ActiveX控件,需要编写bat脚本供程序调用初始化,记录如下 本机环境win10,使用IE为IE11,知识点:I ...
- Windows环境使用bat脚本启动Redis服务
一.编写脚本startup.bat启动Redis服务 @echo off title redis-server set ENV_HOME="D:\DevTools\Redis 5.0&quo ...
- 【Tools】Windows环境下.bat脚本启动和关闭Redis
1.启动redis脚本(start-redis.bat) @echo off title redis-server set ENV_HOME="C:\tools\redis" co ...
- Windows 通过bat脚本启动Eureka,Cassandra和redis-server
在桌面放的有eureka-server-1.0-SNAPSHOT.jar,cassandra.bat,在D盘放的有redis-server.exe,每次都要逐一点开有点麻烦;于是可以在桌面创建一个.b ...
- Windows 如何用.bat脚本启动nginx
首先新建文本文档,将文件后缀改为.bat,并在里面写下如下代码: rem 打开nginx的存放路径 cd D:\nginx-1.21.5 rem 修改配置后重新加载生效,所以如果更新了文件夹或者con ...
- 运行startup.bat的启动过程
一.前言 一般启动tomcat都是找到bin目录下的startup.bat(windows)下或者startup.sh(linux下),所以要研究tomcat的启动,startup脚本是避不开的.那么 ...
最新文章
- 解释上采样和PixelShuffle
- python爬取历史上的今天数据并展示。
- java spring mysql配置_java相关:mysql+spring+mybatis实现数据库读写分离的代码配置
- Xen虚拟机迁移技术
- android+usb摄像头预览分辨率,UVCCamera(usb camera)适配Android9
- webpack 4 入门教程一
- 董耀祖:云原生是趋势,多云、边缘云也变得很热
- Makefile入门(超详细一文读懂)
- windows7梦幻桌面
- 斯皮尔曼相关(spearman)系数法
- 用什么软件测试电脑硬件的问题,新电脑检测软件-我买了新电脑,用什么软件测试比较好?最好还能看见自己详细配置的软 爱问知识人...
- window 使用 Edge/Chrome 调试手机 iOS 的 Safari 浏览器
- Error on rename ofXXXXXX (errno: 152)
- 上海浦东新区:在不动产登记、政务服务领域应用电子合同、印章
- pikachu——验证码绕过(on client)python脚本解法
- 用python做生日礼物_如何做一个网页送给女朋友做生日礼物?
- 神经网络的简介和特点,神经网络的简介和应用
- firefox阻止更新并阻止提示更新
- js通过两种方式进行对商品价格排序
- java socat_Socat虚拟串口无法识别