在我們應用程式或者在寫android自己主動化測試時候經常會須要模擬實體按鍵,來給我們做測試用。這也是我要整理的目的。
基本的涉及的是linux input event事件。
下面的樣例基於android 5.1(linux-3.10)。
(1)命令:getevent -t
結果:
得知:我們所要的耳機按鍵的相應的input事件是event9。...
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:
...
(2)命令:getevent -t /dev/input/event9 (getevent -l /dev/input/event9會有更加具體資訊),使用按耳機按鍵預先獲取耳機事件資訊
結果:
(3)使用sendevent命令模擬觸發線控按鍵事件按鍵按下:
0001 00e2 00000001
0000 0000 00000000
松下按鍵:
0001 00e2 00000000
0000 0000 00000000
注:僅僅要是input的事件都是能夠用sendevent來模擬。但有時候就力不從心了如模擬觸控螢幕的滑動,假設用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命令來取代。
(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...