當前位置:編程學習大全網 - 源碼破解 - android怎麽模擬點擊而不受控制

android怎麽模擬點擊而不受控制

本文講的是通過使用代碼,可以控制手機的屏幕和物理按鍵,也就是說不只是在某壹個APP裏去操作,而是整個手機系統。

更多問題解決辦法請參考android學習手冊,例子、源碼、文檔全部搞定,采用androidstudo的目錄結構,360手機助手中下載。下面是截圖。

getevent/sendevent

getevent&sendevent 是Android系統下的壹個工具,可以模擬多種按鍵和觸屏操作,產生的是raw event,raw event經過event hub處理產生最終的gesture事件。getevent用於獲取當前系統input設備的壹些參數和實時事件的數據;sendevent用於發送input事件,這倆命令的作用就是相當於解放了手,可以通過命令直接調用Linux底層來控制手機,工具的源碼位於Android SDK的system/core/toolbox下(sendevent.c getevent.c)。

getevent

用法說明:

[plain] view plain copy print?

#?getevent?-h

Usage:?getevent?[-t]?[-n]?[-s?switchmask]?[-S]?[-v?[mask]]?[-p]?[-q]?[-c?count]?[-r]?[device]

-t:?show?time?stamps

-n:?don't?print?newlines

-s:?print?switch?states?for?given?bits

-S:?print?all?switch?states

-v:?verbosity?mask?(errs=1,?dev=2,?name=4,?info=8,?vers=16,?pos.?events=32)

-p:?show?possible?events?(errs,?dev,?name,?pos.?events)

-q:?quiet?(clear?verbosity?mask)

-c:?print?given?number?of?events?then?exit

-r:?print?rate?events?are?received

# getevent -h

Usage: getevent [-t] [-n] [-s switchmask] [-S] [-v [mask]] [-p] [-q] [-c count] [-r] [device]

-t: show time stamps

-n: don't print newlines

-s: print switch states for given bits

-S: print all switch states

-v: verbosity mask (errs=1, dev=2, name=4, info=8, vers=16, pos. events=32)

-p: show possible events (errs, dev, name, pos. events)

-q: quiet (clear verbosity mask)

-c: print given number of events then exit

-r: print rate events are received

其中?[-t]?參數顯示事件的時間戳,[-n]?取消事件顯示時的換行符,[-s switchmask]?得到指定位的開關狀態,[-S]?得到所有開關的狀態,[-v [mask]]?根據mask的值顯示相關信息,後面詳細介紹mask的使用方法,[-p]?顯示每個設備支持的事件類型和編碼,[-q]?只顯示事件數據,[-c count]?只顯示count次事件的數據,[-r]?顯示事件接收頻率。

[java] view plain copy print?

shell@android:/?$?getevent?-p

shell@android:/ $ getevent -p

[java] view plain copy print?

getevent?-p

add?device?1:?/dev/input/event7

name:?"gpio-keys"

events:

KEY?(0001):?0066

input?props:

<none>

add?device?2:?/dev/input/event2

name:?"alps"

events:

ABS?(0003):?0000:?value?12,?min?-4096,?max?4096,?fuzz?0,?flat?0,?resolution?0

0001:?value?-4,?min?-4096,?max?4096,?fuzz?0,?flat?0,?resolution?0

0002:?value?-252,?min?-4096,?max?4096,?fuzz?0,?flat?0,?resolution?0

000a:?value?0,?min?-4096,?max?4096,?fuzz?0,?flat?0,?resolution?0

0010:?value?0,?min?-4096,?max?4096,?fuzz?0,?flat?0,?resolution?0

0011:?value?0,?min?-4096,?max?4096,?fuzz?0,?flat?0,?resolution?0

input?props:

<none>

add?device?3:?/dev/input/event6

name:?"7k_handset"

events:

KEY?(0001):?006b00720073007400e2

input?props:

<none>

add?device?4:?/dev/input/event5

name:?"proximity_sensor"

events:

ABS?(0003):?0019:?value?1,?min?0,?max?1,?fuzz?0,?flat?0,?resolution?0

input?props:

<none>

add?device?5:?/dev/input/event4

name:?"accelerometer_sensor"

events:

input?props:

<none>

add?device?6:?/dev/input/event3

name:?"magnetic_sensor"

events:

input?props:

<none>

add?device?7:?/dev/input/event1

name:?"7x27a_kp"

events:

KEY?(0001):?00720073

input?props:

<none>

add?device?8:?/dev/input/event0

name:?"sec_touchscreen"

events:

KEY?(0001):?0066008b009e00d9

ABS?(0003):?002f:?value?0,?min?0,?max?4,?fuzz?0,?flat?0,?resolution?0

0030:?value?0,?min?0,?max?255,?fuzz?0,?flat?0,?resolution?0

0032:?value?0,?min?0,?max?100,?fuzz?0,?flat?0,?resolution?0

0035:?value?0,?min?0,?max?480,?fuzz?0,?flat?0,?resolution?0

0036:?value?0,?min?0,?max?800,?fuzz?0,?flat?0,?resolution?0

0039:?value?0,?min?0,?max?4,?fuzz?0,?flat?0,?resolution?0

LED?(0011):?0008

input?props:

INPUT_PROP_DIRECT

getevent -p

add device 1: /dev/input/event7

?name: "gpio-keys"

?events:

KEY (0001): 0066

?input props:

<none>

add device 2: /dev/input/event2

?name: "alps"

?events:

ABS (0003): 0000 ?: value 12, min -4096, max 4096, fuzz 0, flat 0, resolution 0

0001 ?: value -4, min -4096, max 4096, fuzz 0, flat 0, resolution 0

0002 ?: value -252, min -4096, max 4096, fuzz 0, flat 0, resolution 0

000a ?: value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0

0010 ?: value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0

0011 ?: value 0, min -4096, max 4096, fuzz 0, flat 0, resolution 0

?input props:

<none>

add device 3: /dev/input/event6

?name: "7k_handset"

?events:

KEY (0001): 006b ?0072 ?0073 ?0074 ?00e2

?input props:

<none>

add device 4: /dev/input/event5

?name: "proximity_sensor"

?events:

ABS (0003): 0019 ?: value 1, min 0, max 1, fuzz 0, flat 0, resolution 0

?input props:

<none>

add device 5: /dev/input/event4

?name: "accelerometer_sensor"

?events:

?input props:

<none>

add device 6: /dev/input/event3

?name: "magnetic_sensor"

?events:

?input props:

<none>

add device 7: /dev/input/event1

?name: "7x27a_kp"

?events:

KEY (0001): 0072 ?0073

?input props:

<none>

add device 8: /dev/input/event0

?name: "sec_touchscreen"

?events:

KEY (0001): 0066 ?008b ?009e ?00d9

ABS (0003): 002f ?: value 0, min 0, max 4, fuzz 0, flat 0, resolution 0

0030 ?: value 0, min 0, max 255, fuzz 0, flat 0, resolution 0

0032 ?: value 0, min 0, max 100, fuzz 0, flat 0, resolution 0

0035 ?: value 0, min 0, max 480, fuzz 0, flat 0, resolution 0

0036 ?: value 0, min 0, max 800, fuzz 0, flat 0, resolution 0

0039 ?: value 0, min 0, max 4, fuzz 0, flat 0, resolution 0

LED (0011): 0008

?input props:

INPUT_PROP_DIRECT

可以看到 [-p] 參數顯示出來當前系統存在的所有input設備,並且把每個設備支持的事件類型以及編碼都列舉了出來。

每壹個device相當於手機所支持的input設備,每個device裏面的events下:KEY(0001) 、ABS(0003)、SYN(0000)等表示該設備所支持的事件類型:EV_SYN?[0000] (同步事件),EV_KEY?[0001] (按鍵事件),EV_ABS?[0003] (絕對值事件)

舉例event0中的KEY類型:

[java] view plain copy print?

KEY?(0001):?0066008b009e00d9

KEY?(0001):?0066008b009e00d9

表示sec_touchscreen支持的按鍵編碼有:KEY_HOME?[0066] (HOME鍵),KEY_MENU?[008b] (MENU鍵)

KEY_BACK?[009e] (BACK鍵),KEY_SEARCH?[00d9] (SEARCH鍵)

舉例event0中的ABS類型:

  • 上一篇:《新東方背單詞》這個軟件對背單詞真的有用嗎
  • 下一篇:電視少年四大名捕國語?壹***有多少集
  • copyright 2024編程學習大全網