最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于adbkit的android設備管理(精簡版stf)

 更新時間:2023年09月12日 15:11:29   作者:椒排  
這篇文章主要為大家介紹了基于adbkit的android設備管理(精簡版stf)詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

起因

是看到stf(設備管理平臺)有開源了adbkit這個精簡的adb交互庫,又覺得部署stf太麻煩了,就想著用adbkit實現(xiàn)一個精簡的設備管理,用于自動化測試

思路

先引入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)
    })
    // 設備信息寫入數(shù)據(jù)庫
    // 如serial號,port號
  }
}

這里我們假設分配3001端口給剛剛連接到的設備,直接執(zhí)行命令

adb connect ip:3001

這里的ip是插著android設備的那臺主機,這樣我們就成功連接了設備

管理多個設備

按照這個思路,我們可以同時開發(fā)出一套服務,通過調(diào)用接口來查詢當前連接著的設備
我們選用koa2的框架

git clone https://github.com/javieraviles/node-typescript-koa-rest.git

然后進行這個項目的教學進行常規(guī)部署

npm install
npm run watch-server

在controller層定義接口(有點像spring)

我們可以從controller定義一個接口,去從數(shù)據(jù)庫中讀取我們剛才保存過的數(shù)據(jù)

@request("get", "/devices")
@summary("Find devices")
public static async deviceList(ctx: any): Promise<void> {
  console.log(ctx.query.biz)
  ctx.status = 200;
  // 這里的數(shù)據(jù)來源于數(shù)據(jù)庫,可自定義實現(xiàn)
  ctx.body = DeviceDbManager.getInstance().fetchDeviceList();
}

我們可以返回這樣的格式

[
  {
  "serial": "#####",
  "ip": "192.168.x.x",
  "port": 3001,
  "connStatus": 1,
  "updateTime": "2023-08-31T04:53:55.113Z"
  }
]

至此就可以實現(xiàn)一個簡單的設備管理,查詢

也可以對設備進行借用、釋放等操作

完整的項目也在這個地址分享 https://github.com/sonar-su/android-device-manager

以上就是基于adbkit的android設備管理(精簡版stf)的詳細內(nèi)容,更多關于adbkit android設備管理的資料請關注腳本之家其它相關文章!

相關文章

  • 創(chuàng)建Android庫的方法及Android .aar文件用法小結(jié)

    創(chuàng)建Android庫的方法及Android .aar文件用法小結(jié)

    本文給大家介紹了創(chuàng)建Android庫的方法及Android中 .aar文件生成方法與用法詳解,涉及到創(chuàng)建庫模塊操作步驟及開發(fā)注意事項,需要的朋友參考下吧
    2017-12-12
  • Android下拉刷新官方版

    Android下拉刷新官方版

    這篇文章主要介紹了Android下拉刷新官方版的的相關資料,幫助大家實現(xiàn)Android下拉刷新,感興趣的小伙伴們可以參考一下
    2016-02-02
  • Android如何在root設備上開啟ViewServer詳解

    Android如何在root設備上開啟ViewServer詳解

    這篇文章主要給大家介紹了關于Android中如何在root設備上開啟ViewServer的相關資料,文中通過示例代碼介紹的非常詳細,對各位Android開發(fā)者具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • 自定義View之kotlin繪制折線圖實例教程

    自定義View之kotlin繪制折線圖實例教程

    折線圖是我們在開發(fā)中經(jīng)常會遇到的一個需求,下面這篇文章主要給大家介紹了關于自定義View之kotlin繪制折線圖的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-09-09
  • Kotlin?Dispatchers協(xié)程調(diào)度器源碼深入分析

    Kotlin?Dispatchers協(xié)程調(diào)度器源碼深入分析

    Kotlin協(xié)程不是什么空中閣樓,Kotlin源代碼會被編譯成class字節(jié)碼文件,最終會運行到虛擬機中。所以從本質(zhì)上講,Kotlin和Java是類似的,都是可以編譯產(chǎn)生class的語言,但最終還是會受到虛擬機的限制,它們的代碼最終會在虛擬機上的某個線程上被執(zhí)行
    2022-11-11
  • Android 自定義View實現(xiàn)抽屜效果

    Android 自定義View實現(xiàn)抽屜效果

    這篇文章主要介紹了Android 自定義View實現(xiàn)抽屜效果的相關資料,需要的朋友可以參考下
    2017-05-05
  • Android Jetpack組件DataBinding詳解

    Android Jetpack組件DataBinding詳解

    這篇文章主要介紹了Android Jetpack組件DataBinding,DataBinding有很多優(yōu)勢,其中最明顯是代碼更加簡潔,可讀性會更高。部分和UI控件有關的代碼可以在布局文件當中完成,本文給大家詳細講解,需要的朋友可以參考下
    2022-10-10
  • 說說Android的UI刷新機制的實現(xiàn)

    說說Android的UI刷新機制的實現(xiàn)

    這篇文章主要介紹了說說Android的UI刷新機制的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • 詳解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou實現(xiàn)手指滑動效果

    詳解Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarL

    這篇文章主要為大家詳細介紹了Android使用CoordinatorLayout+AppBarLayout+CollapsingToolbarLayou實現(xiàn)手指滑動效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • Android標題欄中添加返回按鈕功能

    Android標題欄中添加返回按鈕功能

    標題欄中的返回按鈕在實際使用中用的比較多,今天就來講講我在項目開發(fā)中的使用經(jīng)歷,需要的朋友參考下吧
    2017-04-04

最新評論

巍山| 巨鹿县| 克拉玛依市| 乌拉特中旗| 福安市| 文安县| 江山市| 五华县| 客服| 清河县| 信宜市| 汽车| 泾川县| 龙口市| 汕头市| 广水市| 青铜峡市| 卓资县| 安图县| 连江县| 余干县| 陆川县| 搜索| 名山县| 黎川县| 平山县| 故城县| 永济市| 镇赉县| 桃江县| 宝清县| 麻江县| 奉节县| 兖州市| 宣武区| 霍林郭勒市| 会同县| 阜南县| 辽中县| 板桥市| 乐业县|