天天看點

開源一個Android小工具injectkey手遊搖桿方案簡述注入觸屏事件方法使用說明:

14年的時侯給兄弟義務做的一個android手遊搖桿工具的一部分功能,發覺這個功能用處還是挺多的,特别是各種群控黑産,總結了一個小demo,有興趣的人可以看一下。
           

手遊搖桿方案簡述

一般手遊搖桿工具把搖桿的鍵值轉化成螢幕操作有兩種方式,一種是通過和遊戲廠商合作,通過sdk等方式,雙方協商好對應的按鍵觸發什麼操作,第二種就是把鍵值轉化成手機的螢幕觸摸事件。

第一種方法好處在于友善,使用者不需要多餘的操作直接能用,壞處嘛,除了模拟器遊戲,其它遊戲都要一個一個去談商務了。

第二種方法需要root手機或者在電腦端通過adb工具調起一個具有system權限的過程用于注入事件,不過這種方式是通用型的,對于所有遊戲都管用。

第一種方法我們這裡不讨論了。第二種方法實作了可以作為通過工具使用。
           

注入觸屏事件方法

注入觸屏事件主要途徑是注入事件到android的input子系統,這裡的方法也有兩種,一是操作dev裝置下面的input子裝置,直接通過裝置進行注入,這種方法一定要求android手機必須已root,在現在手機廠商越來越注重安全的情況下,特别是android 正式采用SELinux安全機制後,root手機已經是一件很難的事情了。

第二種就是通過操作input services來實作注入事件,其實就是使用inputmanager的injectInputEvent接口,這種方法需要在系統中有一個具有system權限的程序來操作input services。

我們這個小工具就是采用的第二種方法。
           

項目地位址:https://github.com/doubleghost/injectkey

android事件注入,非root方式注入觸摸事件。

這個功能是一個android搖桿手遊工具的一部分,用于注入觸摸事件。這個功能可以用在一些需要自動化操作android手機的地方,比如自動化測試,或者群控刷榜等。

PCTool:

一個PC使用的adb指令工具,用于調起我們的觸屏映射程序(injectserver)。PCTool用于非root手機,如果手機已root,不需要使這個工具。

injectserver:

進行觸摸事件注入,如果是root手機啟動,它就具有root權限,如果是adb啟動,則具有system權限。

injectservertest:

測試程式,通過socket往injectserver發送觸模事件指令。

使用說明:

1.安裝injectservertest應用到手機,并啟動。

2.如果是已root手機,直接點選開始鍵值映射,直到提示映射成功。

3.如果是沒有root的手機,需要輕按兩下PCTool工具裡面的Start.bat。直接到提示injectservce success!,這時在應用上點選開始鍵值映射,會直接提示已成功。

4.點選測試。按home鍵回桌面,會看到桌面在自動劃動。