Autojs - 用 JavaScript 實現自己的安卓手機自動化工具腳本

来源:https://www.cnblogs.com/fengzheng/archive/2020/05/13/12880429.html
-Advertisement-
Play Games

我是風箏,公眾號「古時的風箏」,一個不只有技術的技術公眾號,一個在程式圈混跡多年,主業 Java,另外 Python、React 也玩兒的 6 的斜杠開發者。 Spring Cloud 系列文章已經完成,可以到 "我的github" 上查看系列完整內容。也可以在公眾號內回覆「pdf」獲取我精心製作的 ...


我是風箏,公眾號「古時的風箏」,一個不只有技術的技術公眾號,一個在程式圈混跡多年,主業 Java,另外 Python、React 也玩兒的 6 的斜杠開發者。
Spring Cloud 系列文章已經完成,可以到 我的github 上查看系列完整內容。也可以在公眾號內回覆「pdf」獲取我精心製作的 pdf 版完整教程。

一個神奇的 APP

這個軟體叫做 Auto.js,只支持安卓,是一個不需要 Root 許可權的 JavaScript 自動化軟體。什麼意思呢,就是在你的安卓手機上安裝這個 APP,然後通過編寫 JS 腳本的方式實現自動化操作。類似的也有其他的一些軟體,比如蘋果自帶的快捷操作,可以通過自定義配置完成一系列的流程,但是由於其目標是所有人都可以使用,所以定製的時候就沒有那麼靈活。

而 Auto.js 通過寫代碼的方式定製,那不用多說,靈活性肯定是沒的說,關鍵的是,竟然寫 JS 就可以,不用懂 Java,也不用懂 kotlin,是不是有點兒優秀呢。

有人說了,這有什麼用呢,一般人看到還真覺得用處不大,但是,我們先來看看通過 AutoJS 能實現什麼功能吧,只有你想不到的,沒有做不到的,隨便舉幾個例子:

  1. 基本操作,比如安裝、卸載 、啟動、停止APP,切換網路模式、自動打開網址等;
  2. 微信轟炸機,也就是自動不斷的給某個人發消息;
  3. 自動收取螞蟻森林能量;
  4. 百度貼吧簽到;
  5. 王者榮耀刷金幣;
  6. 抖音、快手自動養號;

是不是操作逐漸具有迷惑性、邪惡感,有一些人可以用它來賺錢,那就是搞手機群控的,當然中間少不了黑灰產,以至於作者都已經在應用商店將 APP 下架。

當然,違法犯罪的事兒是絕對不能幹的,我們就是學習學習,做點提高學習、工作效率的事兒而已。

來做一個練練手

現在抖音這麼火,幾乎人人都想在抖音上火一把,有的專業做短視頻的團隊或個人會同時運營好多個抖音號,而抖音的一些策略導致在開了新號之後必須要有個養號的過程,也就是模擬正常人刷抖音的方式,告訴抖音後臺這是個正常的賬號。

下麵我們就來用 VSCode 寫個自動刷抖音的腳本,來完整看一下如何使用 VSCode 配合手機完成自動刷抖音的自動化操作。

此自動化流程包括:

  1. 自動打開抖音 APP;
  2. 隨機觀看 20 秒以內;
  3. 隨機打開觀看 15秒以上的評論區,然後隨機查看3頁以內的評論;
  4. 關閉評論,繼續隨機等待3秒以內;
  5. 自動觀看下一個視頻;

下麵是演示 gif,gif 質量太差,可以點擊查看視頻演示

安裝 APK

首先下載 Auto.js APK 安裝包,由於已經在應用商店下架,需要的同學可以掃碼文章末尾的二維碼關註我的公眾號,在公眾號內回覆 「autojs」獲取安裝包和自動刷抖音腳本。

打開已安裝好擴展插件的 VSCode

開發者的目的是為了讓大家可以在手機上就能通過編寫 JS 的方式實現自動化操作,比如下麵這個是 APP 內置的手機編輯器界面。

但是,在手機上寫代碼豈是程式員所為,有點束手束腳的感覺,還是得上電腦,沒錯,還得電腦。當然也可以,作者為我們提供了 VSCode 插件。

打開 VSCode,通過菜單"查看"->"擴展"->輸入"Auto.js"或"hyb1996"搜索,然後安裝即可。

點擊可以查看插件的官方介紹

新建一個項目

通過菜單“查看”->“命令面板”->"Auto.js: New Project "新建一個項目,項目包括一個 main.js 和一個project.json 文件,main.js 就是寫主要邏輯的文件,project.json 是項目的一些配置信息,這和其他前端項目類似。

編寫自動化邏輯

根據你的需要在 main.js 中編寫 js 代碼,作者已經提供了各種包裝好的 API,你可以到官方網站上去查看,官方地址 https://hyb1996.github.io/AutoJs-Docs/#/,例如打開抖音,只需要以下一行代碼:

launchApp("抖音短視頻");

我寫的這個例子主要用到了基於坐標的操作,其實就是模擬做一些點擊、上劃等的手勢操作,可以說沒有任何難度,當然,離不開作者完美的 API 保證。

在 VSCode 中啟動服務

通過菜單“查看”->“命令面板”->"Auto.js: Start Server "來啟動項目,啟動成功後,會在右下角顯示“Auto.js server running”,只有啟動了電腦端的服務,才能進行下麵的連接操作。

在 Auto.js APP 中連接電腦

如果你做過安卓開發,那應該很清楚真機調試,要麼用數據線,要麼保證電腦和手機在同一區域網之下,Auto.js 也一樣的,其實就是真機調試。

打開 Auto.js APP,點擊右上角菜單按鈕,在划出的左側抽屜框中打開連接電腦。

然後在彈出的輸入框中輸入電腦的 IP ,點擊確定即可。

打開 Auto.js 的無障礙模式

Auto.js 的實現就是依靠的無障礙模式,但是這個模式需要對應用單獨打開。仍然在 APP 的左側抽屜框中打開。

然後會自動跳到手機自身設置中的無障礙模式界面,在下方找到 Auto.js 這個應用,然後打開即可。

就算這裡你暫時沒有打開,等到之後調試的時候會自動提示你要打開無障礙模式的。

保存項目到手機

當你寫完腳本之後,可以通過菜單“查看”->“命令面板”->"Auto.js: Save Project "來保存修改到你的手機上,之後,你就可以在 Auto.js 中看到你做的修改。

調試,查看效果

當你寫好了一部分代碼後,肯定要看一下效果,也很簡單,通過菜單“查看”->“命令面板”->"Auto.js: Run On Device "來運行,當然,前提是你已經安裝上面的步驟操作過,並且 Auto.js 處於活動狀態。

之後,會在菜單下方顯示你已連接到此電腦的設備,我這兒只有一臺,所以只顯示一個,如果你同時調試多台的話,這裡應該顯示多個。

當你點擊這個設備後,就會在你的手機上執行你編寫的邏輯,就像我前面的那個演示效果一樣。

如何確定坐標

大部分的操作其實都是對坐標的模擬手勢操作,雖然 Auto.js 也支持更複雜的控制項操作,甚至能直接連接 Java。

那麼如何能確定你要操作的坐標位置呢,比如我這個例子中,評論圖標的位置,上劃刷新下一個視頻時的起止坐標,總不能截個圖然後再量吧,那肯定姿勢有問題。

首先你要打開手機的開發者模式,一般的手機都是找到設置->關於本機->版本號,然後在版本號上連續點擊幾次打開開發者模式。

打開之後,在開發者模式中有個指針位置的開關。

然後會在手機屏幕上方顯示橫縱坐標,手機型號不同,顯示位置和效果也有可能不一樣。

最好不要有強迫症,不然這麼凌亂的畫面接受不了,還好我沒有,這個指針位置我可以一直開著沒什麼影響(攤手)。

最後

好用歸好用,但是不要用到違法亂紀的地方,一旦用技術作起惡來是很可怕的。

要拿去學習學習的同學可以掃碼文章末尾的二維碼關註我的公眾號,在公眾號內回覆 「autojs」獲取安裝包和自動刷抖音腳本。

感覺有意思的話,給個贊吧,總是被白嫖,身體吃不消!

我是風箏,公眾號「古時的風箏」,一個在程式圈混跡多年,主業 Java,另外 Python、React 也玩兒的很 6 的斜杠開發者。可以在公眾號中加我好友,進群里小伙伴交流學習,好多大廠的同學也在群內呦。

技術交流還可以加群或者直接加我微信。


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 現在 20-50K 的招聘,我們先看看是什麼要求? 螞蟻金服招聘要求: 蝦皮招聘: 騰訊: 明源雲: 毫無疑問,這些公司都是招聘的大前端技術棧的職位,之前文章提到過 2020 年大前端最理想的技術棧,其實真的弄得很明白那些,出去面試基本上不會有什麼問題。 小提示:如果發現小公司面試套你的技術和架構, ...
  • 【目錄】 一、佈局相關的標簽 二、盒子模型 三、浮動 (有個即刻偷師學藝的方法—— 在瀏覽器里,打開一個設計很棒的網頁,滑鼠點擊右鍵,選擇“檢查”,即可查看網頁的HTML+CSS代碼和相對應的佈局位置) 一、佈局相關的標簽 二、盒子模型 1、什麼是盒子模型 # 就以快遞盒為例 快遞盒與快遞盒之間的距 ...
  • 把要非同步載入的頁面中,需要執行的js,寫在load()方法的回調函數中執行: $(selector).load(url,data,function(response,status,xhr)) $('.layui-tab-content').load("../index.html",function ...
  • 有了 Promise 和 then,為什麼還要使用 async? 本文寫於 2020 年 5 月 13 日 最近代碼寫著寫著,我突然意識到一個問題——我們既然已經有了 Promise 和 then,為啥還需要 async 和 await? 這不是脫褲子放屁嗎? 比如說我們需要一段請求伺服器的代碼: ...
  • <style> #head{float: left;} #head ul li{float: left;list-style: none;padding-left: 15px;} .nav{font-size: 18px;font-weight: bold;} </style> <div id="h ...
  • 1 <div class="imgDIv"> 2 <label>上傳pdf</label> 3 <input id="fileId" type="file" accept="application/pdf" class="imgPic"/> 4 </div> 1 var formData = new ...
  • 加載引用 'datagrid-export.js' 文件 <script type="text/javascript" src="datagrid-export.js"></script> 導出數據表格 $('#dg').datagrid('toExcel','dg.xls'); // export ...
  • 先上圖: 上代碼: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script type="text/javascript" src="../../../static/js/j ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...