目前做Android自動化模擬用戶操作的工具不多,還有一些工具是基于一些腳本框架封裝的只能執行一些特定操作的應用。基于目前這類教程網上資源稀缺的現狀下,我給大家推薦兩款好用的工具,方便大家做相關方向的項目時可以參考。下面給大家介紹的兩款好用的安卓自動化工具,也是本人常用的,感覺不錯的兩款:ADB和Autojs。
下面內容我將分別向大家介紹這兩款工具的情況,然后列出一些常用命令,最后我會分別用兩種工具做一個自動刷抖音的工具(每10秒滑動一次)。
一、ADB
ADB全稱為Android Debug Bridge(安卓調試橋)。它是一個命令行窗口,用于通過電腦端與模擬器或者Android真機之間的交互。ADB是一個C/S架構的應用程序,由三部分組成:運行在pc端的adb client:命令行程序”adb”用于從shell或腳本中運行adb命令。首先,“adb”程序嘗試定位主機上的ADB服務器,如果找不到ADB服務器,“adb”程序自動啟動一個ADB服務器。接下來,當設備的adbd和pc端的adb server建立連接后,adb client就可以向ADB servcer發送服務請求;運行在pc端的adb server:ADB Server是運行在主機上的一個后臺進程。它的作用在于檢測USB端口感知設備的連接和拔除,以及模擬器實例的啟動或停止,ADB Server還需要將adb client的請求通過usb或者tcp的方式發送到對應的adbd上;運行在設備端的常駐進程adb demon (adbd):程序“adbd”作為一個后臺進程在Android設備或模擬器系統中運行。它的作用是連接ADB服務器,并且為運行在主機上的客戶端提供一些服務。
1、使用之前你需要在電腦上安裝好adb。
第一種就是最簡單的方法,只下載adb壓縮包去解壓即可:鏈接: https://pan.baidu.com/s/1aYbFwTjx20S1hOC6BYnhGQ 密碼: (關注微信公眾號“程序員唐丁”獲取)(備注:Windows下載到哪個盤下解壓后,之后使用中打開dos窗口都要進入到那個盤,然后再去執行adb命令,輸入adb查看它是否安裝成功);第二種方法前提是已安裝了Android Studio,它本身帶有adb命令,如果配置好的Android Studio 一般都是可以直接調用adb命令的。安裝成功后執行:adb --version如下圖
2、電腦安裝完adb后需要打開自己手機的開發者模式,開啟USB調試功能。并且需要用USB線連接手機和電腦(也可以采用無線連接,需要在同一局域網下,這個連連接方式大家自行百度)。
之后執行 adb devices,出現下圖所示說明adb已經成功連接到設備了。
3、這個時候已經可以在終端輸入adb命令執行了,下面給大家列舉一些常用的adb命令:
```
1、查看是否連接成功
adb devices
2、鎖定/解鎖手機(指紋或人臉解鎖無效)
adb shell input keyevent 26
adb shell input keyevent 82
3、重啟/關機
adb shell reboot //重啟
adb shell reboot -p //關機
4、打開/關閉藍牙
adb shell service call bluetooth_manager 6 //打開藍牙
adb shell service call bluetooth_manager 9 //關閉藍牙
5、打開關閉wifi
adb shell svc wifi enable //打開wifi
adb shell svc wifi disable //關閉wifi
6、打開wifi設置界面
adb shell am start -a android.intent.action.MAIN -n com.android.settings/.wifi.WifiSettings
7、模擬按鍵操作
adb shell input keyevent 111
8、模擬滑動觸屏操作
adb shell input touchscreen swipe 930 880 930 380 //向上滑
adb shell input touchscreen swipe 930 880 330 880 //向左滑
adb shell input touchscreen swipe 330 880 930 880 //向右滑
adb shell input touchscreen swipe 930 380 930 880 //向下滑
9、模擬點擊操作
adb shell input mouse tap 100 500
10、撥打電話
adb shell am start -a android.intent.action.CALL -d tel:10010
11、打開網站
adb shell am start -a android.intent.action.VIEW -d http://google.com
12、安裝、刪除app
adb install abc.apk //第一次安裝。如果手機上已經有此app,則會報錯。
adb uninstall com.example.appname
13、啟動APP
adb shell am start -n com.package.name/com.package.name.MainActivity
adb shell am start -n com.package.name/.MainActivity
14、關閉/重啟adb服務進程
adb kill-server
adb start-server
15、截屏操作
adb shell screencap -p /sdcard/picture.png #截屏
adb pull /sdcard/picture.png#傳到電腦
adb shell rm /sdcard/picture.png#刪除手機端截屏
```
4、下面我就利用Python的os模塊加上adb命令做一個自動刷抖音的腳本
```
#導入os和time模塊
import os
import time
#找到抖音應用的包名和activity
package_name = 'com.ss.android.ugc.aweme'
activity_name = 'com.ss.android.ugc.aweme.splash.SplashActivity'
#打開抖音
os.system('adb shell am start -n %s/%s' % (package_name, activity_name))
#等待5秒,防止網絡延遲
time.sleep(5)
#循環刷抖音
while True:
#滑到下個視頻
os.system('adb shell input touchscreen swipe 930 880 930 380')
#等待10秒
time.sleep(10)
```
二、Auto.js
Auto.js 是個基于 JavaScript 語言運行在Android平臺上的腳本框架。Auto.js主要工作原理是基于輔助服務AccessibilityService。Auto.js無需Root權限,只需要將手機設置里面的無障礙模式開啟,便可以開始開發了。它的用途非常多:
數據監控:可以監視當前手機的數據;
圖片監控:截圖獲取當前頁面信息;
控件操作:模擬操作手機控件;
自動化工作流:編寫簡單的腳本,完成一系列自動化操作。如:微信/QQ自動點贊,快速搶單等。
定時功能:定時執行某個腳本,來完成定時任務。如:定時打卡簽到等。
我個人是更傾向于使用Autojs的,因為本人在實際使用中需要同時操作上百部手機,這種情況下,adb在管理大批量手機方面就顯得遜色了一點。
1、使用前需要在手機上安裝autojs應用,鏈接: https://pan.baidu.com/s/1u7ZapOnVq9IAEBLX59z2vA 密碼: (關注微信公眾號“程序員唐丁”獲取)。大家直接下載安裝即可。同時還需要在電腦上安裝開發工具(推薦使用visual studio code),具體安裝步驟可以參考這篇博客:http://www.360doc.com/content/20/0301/22/63408870_896035619.shtml。
2、手機和電腦環境搭建完成后就可以開始寫代碼了。同樣的給大家分享一些常用函數:
//設備模塊
```
device.width//得到手機分辨率-寬
device.height//得到手機分辨率-高
device.brand//得到手機品牌
device.model//得到手機設備型號
device.sdkInt//得到手機安卓系統API版本。例如安卓4.4的sdkInt為19。
device.release//得到手機安卓系統版本號。例如"5.0", "7.1.1"。
device.getBattery()//返回手機電量-百分比
device.isCharging()//判斷手機是否在充電-boolean
//模擬點擊模塊
click(x, y)//模擬點擊坐標(x, y),并返回是否點擊成功。只有在點擊執行完成后腳本才繼續執行。
longClick(x, y)//模擬長按坐標(x, y), 并返回是否成功。只有在長按執行完成(大約600毫秒)時腳本才會繼續執行。
swipe(x1, y1, x2, y2, duration)//duration {number} 滑動時長,單位毫秒,模擬從坐標(x1, y1)滑動到坐標(x2, y2),并返回是否成功。只有滑動操作執行完成時腳本才會繼續執行。
//多媒體模塊
media.pauseMusic()//暫停音樂播放。如果當前沒有在播放音樂,則調用函數沒有任何效果。
media.resumeMusic()//繼續音樂播放。如果當前沒有播放過音樂,則調用該函數沒有任何效果。
media.stopMusic()//停止音樂播放。如果當前沒有在播放音樂,則調用函數沒有任何效果。
```
3、下面我就利用Autojs做一個自動刷抖音的腳本
```
//等待開啟無障礙服務
auto.waitFor();
// 打開抖音
app.launchApp('抖音');
//等待5秒
sleep(5000);
while(1){
//滑到下一個視頻
swipe(50,1000,50,400,200);
//等待10秒進入下次滑動
sleep(10000);
}
```
當然Autojs的功能遠遠不止這些,其他功能后面再向大家介紹。
————————————————
版權聲明:本文為CSDN博主「程序員唐丁」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/m0_45903982/article/details/117295245
- 基礎課程
- 抖音精選知識
- 直播間如何引流,這5個技巧主播必看
- 打造抖音爆款腳本文案,讓你分分鐘鐘上熱門漲粉。
- 抖音漲粉太難?抖音矩陣了解一下!
- 玩轉“抖音”的10種內容策劃套路!
- 抖音卡直播廣場技術分享(冒死分享,速看)
- 抖音卡直播廣場技術2021年新玩法揭秘!原來抖音在線6000人這么來的!
- 最新卡直播廣場機制原理
- 抖音項目分析
- 人人皆可做的抖音108個賺錢項目:知識付費變現術(13)
- 抖音工具類
- 抖音視頻中一鍵提取文案(輕抖)
- 抖音自動引流腳本源碼
- 抖音短視頻腳本文案范例:這些腳本模板,直接套用就能火
- 安卓自動化工具(附自動刷抖音腳本實例)
- 抖音總結分享
- 抖音上熱門文案技巧解析
- 抖音直播帶貨