基于adbkit的android設備管理(精簡版stf)
起因
是看到stf(設備管理平臺)有開源了adbkit這個精簡的adb交互庫,又覺得部署stf太麻煩了,就想著用adbkit實現一個精簡的設備管理,用于自動化測試
思路
先引入adbkit
前期首先這是一個node項目,先引入adbkit
npm install adbkit --save
監(jiān)聽設備
把多個android手機插入同一臺電腦,如果每次都用adb devices去查詢,未免有些太過麻煩,而adbkit提供了監(jiān)聽的方法
const client = AdbInteraction.getInstance().getClient()
client.trackDevices().then((tracker) => {
tracker.on("add", async (device) => {
console.log(device.id)
}
}其中的device.id就是設備的serial號(即adb devices中的id)
設備管理
當設備連接后,可以在監(jiān)聽事件中對設備分配一個端口,并綁定端口
const client = AdbInteraction.getInstance().getClient()
const bridge = {}
client.trackDevices().then((tracker) => {
tracker.on("add", async (device) => {
// 指定一個端口,或者可以寫一個方法去分配
const availablePort = 3000
// 創(chuàng)建一個adb usb連接
bridge[serial] = client.createTcpUsbBridge(serial, { auth: () => Promise.resolve() })
// 綁定端口
bridge[serial].listen(availablePort).on("error", (e) => {
console.log("err" + e)
})
// 設備信息寫入數據庫
// 如serial號,port號
}
}這里我們假設分配3001端口給剛剛連接到的設備,直接執(zhí)行命令
adb connect ip:3001
這里的ip是插著android設備的那臺主機,這樣我們就成功連接了設備
管理多個設備
按照這個思路,我們可以同時開發(fā)出一套服務,通過調用接口來查詢當前連接著的設備
我們選用koa2的框架
git clone https://github.com/javieraviles/node-typescript-koa-rest.git
然后進行這個項目的教學進行常規(guī)部署
npm install npm run watch-server
在controller層定義接口(有點像spring)
我們可以從controller定義一個接口,去從數據庫中讀取我們剛才保存過的數據
@request("get", "/devices")
@summary("Find devices")
public static async deviceList(ctx: any): Promise<void> {
console.log(ctx.query.biz)
ctx.status = 200;
// 這里的數據來源于數據庫,可自定義實現
ctx.body = DeviceDbManager.getInstance().fetchDeviceList();
}我們可以返回這樣的格式
[
{
"serial": "#####",
"ip": "192.168.x.x",
"port": 3001,
"connStatus": 1,
"updateTime": "2023-08-31T04:53:55.113Z"
}
]至此就可以實現一個簡單的設備管理,查詢
也可以對設備進行借用、釋放等操作
完整的項目也在這個地址分享 https://github.com/sonar-su/android-device-manager
以上就是基于adbkit的android設備管理(精簡版stf)的詳細內容,更多關于adbkit android設備管理的資料請關注腳本之家其它相關文章!
- Android設備adb連接后顯示device unauthorized解決方案
- android中的adb命令學習
- 超詳細的Android開發(fā)調試工具ADB命令及安裝介紹
- android中adb命令最全總結
- 詳解android adb常見用法
- adb通過wifi連接android設備流程解析
- Android adb命令中pm工具的作用及用法說明
- Android adb安裝apk時提示Invalid APK file的問題
- Android user版通過adb_enable開啟adb 調試 不提示對話框的流程分析
- Android PC端用ADB抓取指定應用日志實現步驟
- Android 實現永久性開啟adb 的root權限
- 關于ADB的Android Debug Bridge(安卓調試橋)那些事
- Android客制化adb shell進去后顯示shell@xxx的標識
- android設置adb自帶screenrecord錄屏命令
- Android 修改adb端口的方法
- Android中ADB命令用法大結局
- Android開啟ADB網絡調試方法
- Android ADB簡介、安裝及使用詳解
相關文章
解決Android Studio一直停留在MyApplication:syncing的問題
這篇文章主要介紹了Android Studio一直停留在MyApplication:syncing的完美解決方案,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-10-10
Android中TextView動態(tài)設置縮進距離的方法
項目需求如果在項目中第一行文字需要添加布局的情況我們應該怎么做呢,經過一番考慮和查找我最終選擇了縮進的方式解決這個問題,這篇文章主要給大家介紹了關于Android中TextView動態(tài)設置縮進距離的相關資料,需要的朋友可以參考下2022-04-04

