微信跳一跳輔助app 僅需安裝app無需連線電腦等 支援手動、自動 | 已開源

克隆武發表於2019-02-22

微信跳一跳App助手

現已加入“手動”“自動”可切換豪華大餐

元旦假期前看到了大神 @神奇的戰士 的文章《python 微信《跳一跳》輔助》
(知乎:https://zhuanlan.zhihu.com/p/32452473 GitHub:https://github.com/wangshub/wechat_jump_game ),
看完後我想說很棒,但是感覺這對小白來說貌似有點難了,需要工具python(小白問這是個啥)、Adb(小白問這又是個啥)、Matplot(小白不問了,手動去跳一跳了),哈哈哈。

所以我就在想有沒有可以直接裝在手機上來輔助的App可以做出來呢,對小白使用者來說相對也簡單點。

說做就做吧,湊一波熱鬧!然後假期裡就在想(注意注意注意,這是思路):

  • 這個小遊戲其實就是根據觸控螢幕的時間長短來決定小人跳動距離的遠近
  • 小人跳動的速度在裝置上是個定值,根據手機不同速度可能不同(如果不定那麼這遊戲更不好玩了)
  • 我需要計算出來小人當前的位置到下一個我要跳到的位置的距離,恩,我用尺子量
  • 根據上一條,我覺得我需要“懸浮窗”功能來幫我實現,懸浮窗浮動在微信小遊戲的上面,我拖動懸浮窗裡面的兩個控制元件來計算兩點間的距離
  • 恩,不錯,感覺能量出來,這尺子不錯,距離的問題解決了
  • 量出來了距離,速度的話是個定值我多測試幾次能測個大概的速度了,後面慢慢優化
  • 根據上一條所說,測速,這個就是在adb裡面測的了,模擬跳出800ms的距離,然後對比你尺子量出來的,測測測,就有個大概了
  • 好了,距離,速度都有了,那麼接下來觸控的時間t=距離/速度,搞定,去吧,這一步觸控233ms就能到下一個的中心
  • 什麼?你不知道觸控233ms是多長時間?罷了罷了,交給手機去“自摸”好了
  • 根據上一條,要模擬螢幕觸控事件,那麼手機基本需要Root了,Root後應用獲取許可權,然後執行shell指令碼執行自摸搞定

震驚,竟然,這種事,驚呆了

該app支援“手動選位置”以及“自動尋找位置”去跳!下面示例圖中可以看到兩個的區別,視訊明天會錄製
注意注意:自動尋找位置的演算法拷貝自burningcl/wechat_jump_hack,省去了我很大的時間(其實就是我懶),感謝感謝感謝!

App下載地址

點選這裡進去CooLoongWu/JumpHelper,在apk資料夾下看到了沒,裡面有jumphelper_alpha_xxx.apk型別的檔案,下載版本號最大的就好了。 如果覺得沒毛病的話老鐵請給個star!!!!!我就是想要小星星啊!

使用方法

注意注意注意,因為上文提到了由於安卓模擬觸控事件是需要root許可權的,所以要求手機需要root,但是如果你的手機沒有root也可以用另一種辦法,就是稍微麻煩些,這裡我會將兩個方法都寫上:

1)手機已Root【手動自動都可】

這種情況好辦吶,直接安裝app,然後給root許可權和懸浮窗許可權,然後在app中點選“開啟懸浮窗”按鈕就可以看到有一層懸浮窗浮現在螢幕上面了,然後可以看到有一個“跳”的按鈕和兩個標籤一樣的東西(其實就是標籤,你認為它是指標就好了)。

你分別拖動兩個標籤一個指向小人底部,另一個指向下一次要跳到的位置,然後點選按鈕“跳”,很神奇的就跳過去了有沒有。

自動跳的話,選擇自動懸浮窗模式,然後開啟跳一跳,然後點選跳就靜靜的觀察就好了【可能會有跳不準的情況,如果怕掉下去這時候點選“停”,然後切換為手動試試好了】。

但是請注意下操作順序,先要開啟微信的跳一跳,然後在開啟這個app的懸浮窗,否則懸浮窗遮住了大半部分的手機螢幕你是沒辦法做過多其他的操作的。想退出懸浮窗直接開啟後臺殺掉該app即可(這個我後面會優化,操作太不友好了是麼)。

2)手機未Root【手動】

這種情況的朋友應該居多吧,所以我在原始碼中也直接提供了adb工具下載,路徑是JumpHelper/tools/adb.zip(或者直接點這裡下載)。

  1. 下載adb.zip並解壓到一個資料夾下,例如D:adb(最好不要用中文路徑),此時可以看到資料夾內容如下:
    這裡寫圖片描述
  2. 配置環境變數,將D:adb這個路徑新增到電腦的環境變數中去,win7下在計算機上右鍵=>屬性=>高階系統設定=>環境變數=>在系統變數中找到path然後選中點選編輯在最後面新增 ;D:adb 即可(別少了英文的分號)。Win10下右鍵開始選單=>系統=>高階系統設定=>環境變數=>在系統變數中找到path然後選中點選編輯然後新建填入 D:adb 即可(這個就沒分號了)。具體還不懂的話請百度“設定環境變數”好了。
  3. 配置完後用資料線連線手機(看到這裡後繼續看第4條,如果有錯誤你在回來繼續看),如果你電腦上有什麼xx手機管家類的那麼基本你的電腦就有手機驅動了,如果沒有的話可以去 這裡下載ADB Driver Installer,然後安裝手機的驅動。
  4. 按下Win+R鍵在彈出的執行框中輸入cmd,如下圖,回車後即可看到命令列黑視窗,在黑視窗中輸入adb shell 按下Enter鍵(可能需要等一段時間),然後觀察手機如果彈框出現是否允許電腦除錯手機對話方塊請點選允許除錯,然後黑視窗中如果出現類似下圖的字串就證明連線手機成功,可以控制手機了:
這裡寫圖片描述
這裡寫圖片描述

然後你可以直接測試下,輸入 input swipe 0 500 360 500 1000 然後回車,這句話的意思就是模擬從螢幕座標的(0,500)滑動到(360,500)處,最後一個1000是時間就是1秒,也就是我們平常的左滑螢幕了,看看是不是螢幕滑動了下。
5. 如果你輸入adb shell後卻出現 device not found類的提示,先檢查手機是否連線好電腦,確認連線沒問題在去上面3那裡去下載驅動吧。
6. 到這裡的話你應該已經知道怎麼用了吧,手機上安裝app開啟懸浮窗後,選擇跳一跳中小人當前位置以及下一個要跳的位置,然後點選了跳之後你就可以得到一個時間t,拿到這個時間後在4中出現的黑視窗中輸入input swipe 500 1200 500 1200 t(拿到的時間),座標(500 1200)你可以自己按需要調整,只要不是被懸浮窗覆蓋的區域就行。

TODO

聽說你們還想讓他自動跳的?這麼貪得無厭的?行,明天就來【你明天看還這裡寫的還是“明天”】。
接下來就是不斷的優化,適配了

GitHub

程式碼已上傳到GitHub,CooLoongWu/JumpHelper,由於只是一個初步的程式碼,還沒有做各種適配,所以這裡先不講解程式碼了,思路都在上面提到了。等到適配工作基本穩定後在優化程式碼並分析。

感謝清單

1.czy1121/settingscompat
做的時候就感覺懸浮窗可能是個坑,需要適配,所以索性GitHub上找了一個懸浮窗庫,感謝作者大大@czy1121

2.burningcl/wechat_jump_hack
Java版的自動尋找位置的演算法,省去了我很大一部分時間,修修改改就直接拿來用了,非常感謝!!!!!

展示圖片在這裡

刷的不高吧,大神說刷高了可能沒朋友【前面是手動跳的,後面一張是自動跳的】

這裡寫圖片描述
這裡寫圖片描述

展示Gif在這裡

假期懶得出被窩,在床上錄的,簡單看下床戲吧
正經的錄製來了

1.手動操作,選中兩點然後點選跳即可進行一次跳躍

image

2.自動操作,開啟懸浮窗後開啟遊戲,然後點選跳即可

image

相關文章