00:01
啊,同学们大家好,那欢迎大家回到我们的ADB系列课程,那我们这节课要学习的内容呢,是通过ADB命令来模拟手机上的各种按键操作,比如说啊点击对吧,这种点击,然后比如说滑动,比如说。向输入框里面输入一些内容,对吧。嗯,还有呢,就是比如说我们哎如何去模拟这个返回键对吧,然后如何模拟这个home键对吧,音量的放大缩小键,那这些按键啊,其实我们都是可以通过命令的方式来实现的。好,那我们就开始学习吧。那AAPP如何模拟手机的各种按键操作呢?它给我们提供了很多的命令啊,那首先呃,我们先来把我们的指针位置打开,这个指针位置是什么意思呢?就是哎同学们也有一些细节的同学可能发现啊,老师的这个啊跟你的手机不一样,在最上面呢,会多出这样一个啊小灰色的条啊那这个条呢,就是我们,诶如果光标在哪个位置上,你看看它这个,注意这个灰色的条啊,它的这个X轴和Y轴的这个坐标是发生变化的,也就是这个位置和这个位置,它的位置是会发生变化的,那这个怎么把这个啊啊这个。
01:19
呃,获取坐标的这样一个打开呢,那我们可以啊,通过点击我们啊这个设置啊,在这个设置里面同样还是开发者选项。然后在开发者选项里呢,我们找到。啊,不知啊,这块不知道怎么打开的同学,我们翻一下前面啊,前两节课的视频老师讲过,讲过这块如何啊,打开这个开发者模式的,然后我们再往下找,有一个输入,里面有一个指针位置,然后把它打开,你看我们给它关闭掉,那上面这个回调就消失了,把它打开诶,我们就可以啊这些啊,我们光标移动过的地方的坐标,它就帮我们来展示出来了。
02:01
好,我们拿到这个坐标之后,一会儿我们有用啊,我们先把它打开,然后呢,我们来执行a DB shell input的命令。我们来看一下这个命令是干嘛的。给弟弟上。回撤,诶你会发现它也有一些啊这个其他的命令,那这个呢,是它的a shell input的一个帮助文档啊,就是input这个指令,它下面可以完成很多操作,比如说啊,我们想输入给他一个文本信息,它就完成了输入,那想去点击返回键,那我们可以用key对吧?用这种按键操作,那想去想去点击一个坐标就可以用type,想去滑动就可以用swap。那我们重点讲解前四个啊,然后啊,其他的这个按压滚动这个啊,我们暂时先啊先先不学习这块啊用的比较少。啊,那我们第一个呢,先来看我们模拟点击事件如何操作。
03:00
A DB shell input就能够模拟点击事件,那点击的话,我们啊可能会啊,需要找到一个坐标啊,比如说我想去点击呃,这个当当这个位置,那我们先要把光标放在这个上面,你会发现X轴是630对吧?注意注意上面的这个位置啊,注意这这两个位置,这个是X,这是Y,然后我们点击它啊,这个X呢是634,大概是630左右,然后Y呢也是633,然后我们都给它选为630吧,就啊上下差几个坐标啊,差几个坐标是不影响的,对吧。都是630630,那我们就可以通过A。630。630。你把这两个坐标给他。呃,少了一个all input。诶,他就帮我们把这个坐标给我们点点到了,对吧,再来看一下。
04:04
这是通过坐标的形式给我们启动应用啊,这种方式是不靠谱的,我们之前教过大家一个命令,如何通过命令的方式去启动使用那个方式啊,这个是告诉大家啊,如何啊,点击一个坐标,通过ADB啊,Shell input type type这个指令来点击坐标,那在我们这个帮助文档里啊,大家输入a DB shell啊,Input对吧,回车,那他就会给我们这样一个文档,那我们想到这个type type后面呢,要给他一个X一个Y对吧,然后我们给他的这两个坐标呢,它就能够帮我们实现T点击这样一个动作,点击的动作呢,就是点下去并且抬起来对吧,这样就是一个完整的点击的动作了。那啊,下面呢,第二个我们要学习的是模拟输入事件模拟输入啊,那模拟输入怎么模拟呢?就是a DB shell input,同样后面接上一个text as呢,后面跟上一个string,也就是我们要输入的内容,举个例子啊,比如说我们a DB shell。
05:04
或格沃兹对吧。这个文本你可以随便说啊啊,这里面呢,我们需要输英文,注意啊是英文啊,中文它暂时是不支持的,那首先呢,我们要把光标放在一个输入框里面,输入到输入框里面,然后回撤。诶,他就帮我们输入进去了,对吧,这个非常的啊,非常的好用,那我们可以通过这个方式来完成对这个输入框的一个输入。好,那么下面看下一个命令啊,就是模拟啊页面的一个滑动事件,滑动事件的话,我们怎么模拟呢?啊,我们先来分析一下这个滑动怎么去啊,滑动首先我们是不是啊要找到两个点啊,你要从啊下面某一个点滑到上面某一个点,还是从上面某一个点滑到上面某一个点,对吧?我们要有这样一个滑动的,这样这样两个点,拿到这两个点之后,我们再去完成一个滑动,那比如说我想在这个点。
06:02
4721322这个点划到上面的。446对吧,这个哎,注意啊,这里面有一个小的知识点,我们需要注意,就是在手机端啊,这个左上角,注意这个左上角我们点进去啊,你会发现它往左上角是不是越来越小啊,左上角是它的00点,然后右下角。是它的最大的这个像素点。最大的这样一个小数点,然后那一般来说,我们这个啊,这个左上角是00点,这个X轴向右越来越大,然后Y轴是向下越来越大啊,这是它的X轴,这是它的Y轴。那我们去找这个坐标也是啊,就是啊,越往下它的Y轴就是越来越大的,对吧,然后越往上它的X啊,它的X啊,这个Y轴是越来越小的,但是但是它的X轴肯定不变啊,因为我们这个X它一直在这个轴上,一直在这个轴上,对吧。
07:02
那个X一般如果我们画的够直的话,它是不变的,因为这个这是它的X轴,所以我们上下滑肯定是不变的,那你也可以啊,在左侧上下滑,在右侧上下滑,甚至溜着这个边上下滑,它也是能够滑动的,所以说啊,我们滑动的话,那我们可以给他一个选择X轴的一个中点,中中中间点的一个坐标,然后Y轴呢,选择一个大的对吧,在下面选择一个大的坐标,然后往上滑呢,选择一个小的坐标,那我们来看一下。下面的这个是4731378对吧,我们给它一个下面的坐标。我们用a DB shell a DB shell外S外要给他一个起点的X,起点的Y和终点的X和终点的Y,那我们用a DB shell input外。然后起点的X,我们刚才我们再来获取一遍。下面是。4601396。4601396。
08:01
向后向上面的这个点呢,是。我们也X轴让它不变吧,也叫460,然后是396对吧。X终点是460。396不一样,我们X轴可以是不变的,然后我们来滑动一下。返回到这里。OK,你会发现啊,他给我们滑动的很快,对吧,那如果说我想让它慢慢的滑呢,我们可以给他一个时间,比如说给他一个2000毫秒,也就是两秒。诶,你会发现发现啊,他慢慢的帮我们画上去了。我们给的这个时间越长,它滑动的越慢,也就会滑动的越准确,那我给它时间短的,比如说给他一个500毫秒。诶,它的滑动就很快,有的时候如果给的时间再短01:50毫秒。滑动特别。滑到最上面。
09:02
看一下。诶,你会发现它滑的很快,滑的很快呢,这个页面就容易发飘,然后这个滑动的位置可能就不准确,那我们如果想让它滑动到更准确的一个位置呢,我们就需要给它这个延长这个时间,对吧,滑动,比如说滑动这个这两秒之内啊,滑动完这个动作。发到这上面。它滑的就很准确,就能准确的到达我们想要到达的那个位置,所以说啊,这个需要注意啊,就是你给他的这个时间越长,然后它滑动的就越慢,也就是说这个时间是什么意思呢?注意啊,这个swap后面要给它五个参数,五个五个参数啊,第一个是起点的X,起点第二个是起点的Y,然后终点的X,终点的Y,然后最后呢,就是滑动的时长,这个滑动的时长呢,就是你需从起点的X,起点的坐标滑到终点的坐标,需要多长时间啊,这个是它的一个时长。
10:03
好,那这个就是滑动事件,好,那还有就是我们可以去模拟一些手机按键,比如说返回键,那这个返回键我们怎么去模拟呢?我们可以通过a DB shell4。你复制一下这段代码。诶,你会发现它模拟了一次返回,对吧,我们再模拟一下。诶,它就返回回去了,一般来说我们从这个首页返回到啊这个home页的话需要两次。我们点击一次。来看一下。就说我们点击一下。诶,它会有一个弹簧告诉你,诶,你需要再一次点击它对吧。再次激诶它待会回来,所以说这个返回键啊,这个啊命令的这种返回,跟我们点击这个啊按钮的这个返回,它俩的返回方式是一样的,其实这个按钮呢,底层也是执行了这样一个指令,然后告诉你这个手机设备,诶我要实现一个返回操作了。
11:08
那比如说我们诶想直接回到这个,比如说他现在正在运行啊,运行,然后运行,然后这个时候呢,我想让它诶直接回到这个父母页首页,对吧,直接。点击一下它。啊,返回到我们这个首页,那怎么办呢?我们就哎也可以通过命令的形式啊,就是三三这个。这个指令。K它就回去了,对吧,就是执行了k even3,也就是这个配置,那其实你手机上的每一个啊,这个硬件它都对应配置,比如说你输入一个abcd,然后比如说这个返回啊,这个home对吧,还有音量的放大缩小,或者说照相机啊的一个照相按键,那这些按键它都是对应有一个K值的,那这些K值呢啊,我们可以在这个位置来查看到。
12:09
那这个呢,它有它相关的所有的一些P值,比如说我们刚才用的这个bike。它对应的code back,然后我们点进来,你会发现它是啊,模拟一个back减back k对吧,然后它所对应的这个值呢,是四,然后对应的这个。这个呃呃,这种二进制的形式啊,这个应该是16进制吧,然后是这样的一个格式。然后嗯,我们再来看啊,刚才我们啊使用的这个home对吧。可以hold home对吧,它对应的就是三,那我们再来看,比如说音量键,音量的就是。
13:02
音量的啊。缩小键对吧,它是对应的是25,然后音量的放大键呢,是对应的应该是24。啊,这也是我们比较常用的一些音量按键啊,比如说我们输入到24还是音量的放大键。但是由于我们现在使用的是模拟器啊,真机的话可能效果会明显,然后模拟器呢,它应该啊,没有嵌入这个音量的这样一个功能,所以说这个它是没有效果的。好,那我们了解了手机的一些模拟按键,那我们可以在这里面查看到它所有的按键,然后这里面常用的就是返回home对吧?啊,这块大家需要啊,记住home键呢,其实就是把我们的应用啊,至于后台去执行的对吧,比如说我们现在正在正在各种操作,操作完之后,诶,我们想让它在后台运行一会儿,我们可以模拟这个home键,让它返回到这个啊这个后台来执行好。那我们简单来总结一下这节课的内容啊,这节课呢,我们学习了啊,学习了。
14:05
ADB这些一些啊,手机按键的操作对吧?啊,那它使用的一个命令呢,就是a DB shell input,那在input里我们有啊,有哪些指令呢,可以输入啊,后面接一个文本,可以实现硬件的操硬件的一些操作,对吧?比如说返回购物,然后实现点击操作,实现滑动操作啊对吧?那这几个是我们要掌握的。那下面呢,最后我们还是啊给大家啊留一个啊小的问题,那如何模拟返回键的操作呢?A a shell input k3,然后BA shall k23 CA shall input k4。那我们选择哪个呢?简单思考一下。好,那我们的答案呢,就是C对吧,四呢是对应的返回操作键,那如果啊,这个忘了的同学啊,可以回过头去再看一遍我们的视频。
我来说两句