Android Linux 模擬按鍵 觸控螢幕等事件

2021-09-09 02:35:54 字數 2302 閱讀 1188

在我們應用程式或者在寫android自己主動化測試時候經常會須要模擬實體按鍵,來給我們做測試用。這也是我要整理的目的。

基本的涉及的是linux input event事件。

下面的樣例基於android 5.1(linux-3.10)。

(1)命令:getevent -t

結果:

...

add device 6: /dev/input/event9

bus: 0000

vendor 0000

product 0000

version 0000

name: "msm8994-snd-card button jack"

location: "alsa"

id: ""

version: 1.0

.1

events:

key (0001): 0100

0101

0102

0103

0104

0105

0106

0107

input props:

...

得知:我們所要的耳機按鍵的相應的input事件是event9。

(2)命令:getevent -t /dev/input/event9 (getevent -l /dev/input/event9會有更加具體資訊),使用按耳機按鍵預先獲取耳機事件資訊

結果:

按鍵按下:

0001 00e2 00000001

0000 0000 00000000

松下按鍵:

0001 00e2 00000000

0000 0000 00000000

(3)使用sendevent命令模擬觸發線控按鍵事件

sendevent /dev/input/event9 0001 00e2 00000001

sendevent /dev/input/event9 0000 0000 00000000

**這個之間要延時500ms~1s,不然會被系統誤覺得是誤觸發的**

sendevent /dev/input/event9 0001 00e2 00000000

sendevent /dev/input/event9 0000 0000 00000000

注:僅僅要是input的事件都是能夠用sendevent來模擬。但有時候就力不從心了如模擬觸控螢幕的滑動,假設用sendevent就須要大量的命令來模擬。

這時能夠用input命令來取代。

(1)模擬按鍵

命令:input keyevent

已知android手機音量+(keycode_volume_up)的鍵值是24,那使用

input keyevent 24就可模擬按下音量+鍵。

很多其它的鍵值見附件1。

(2)模擬觸控螢幕操作(點按、滑動)

命令:input swipe 。時間單位:ms

比如:從x=100,y=500。滑到x=600,y=500。時間100ms

input swipe 100 500 600 500 100

命令:input tap

android linux 解壓命令

解壓gz00,gz01,gz02,gz03,壓縮包時 cat alps.tar.gz tar zx 例如alps.gb2.mp.v2.21 mtkshanghai75cu 6628 gb2 inhouse.tar.gz00 cat alps.gb2.mp.v2.21 mtkshanghai75cu ...

android linux 解壓命令

解壓gz00,gz01,gz02,gz03,壓縮包時 cat alps.tar.gz tar zx 例如 alps.gb2.mp.v2.21 mtkshanghai75cu 6628 gb2 inhouse.tar.gz00 cat alps.gb2.mp.v2.21 mtkshanghai75cu...

Android Linux 控制GPIO方法二

前文 android linux 控制gpio的方法及實時性分析 主要使用linux shell命令控制gpio,該方法可在除錯過程中快速確定gpio硬體是否有問題,即對應的gpio是否受控。實際專案中,一般需要對gpio做特殊控制,如車載導航系統開機就給gps模組上電,或在daemon程式中控制g...