2019-06-10 Python Android 自動化 1/10 - ADB 介紹


Python Android 自動化 1/10 - ADB


1. ADB是什么

????adb的全稱為Android Debug Bridge,就是起到調(diào)試橋的作用。通過adb我們可以在Eclipse中方便通過DDMS來調(diào)試Android程序,說白了就是debug工具。adb的工作方式比較特殊,采用監(jiān)聽Socket TCP 5554等端口的方式讓IDE和Qemu通訊,默認(rèn)情況下adb會daemon相關(guān)的網(wǎng)絡(luò)端口,所以當(dāng)我們運(yùn)行Eclipse時adb進(jìn)程就會自動運(yùn)行。

????adb是android sdk里的一個工具, 用這個工具可以直接操作管理android模擬器或者真實(shí)的android設(shè)備(如G1手機(jī)).  它的主要功能有:

????* 運(yùn)行設(shè)備的shell(命令行)

????* 管理模擬器或設(shè)備的端口映射

????* 計算機(jī)和設(shè)備之間上傳/下載文件

????* 將本地apk軟件安裝至模擬器或android設(shè)備

? ??ADB是一個 客戶端-服務(wù)器端 程序, 其中客戶端是你用來操作的電腦, 服務(wù)器端是android設(shè)備.

????摘自:百度百科?https://baike.baidu.com/item/ADB/23427792

2. ADB怎么安裝

? ? ADB是安裝Android Studio SDK后附帶的工具,不需要另外安裝,官方下載地址:https://developer.android.google.cn/studio/

? ? 最低限度只需要以下三個文件,可以拷貝到Python腳本所在目錄,或者添加到系統(tǒng)路徑中:

? ??adb.exe

? ??AdbWinApi.dll

????AdbWinUsbApi.dll

? ? 參考:https://jingyan.baidu.com/article/7f41ecec349c0f593d095c84.html

3. ADB能干什么

? ? adb 可以做到的事情,包括不限于:

????列出所有設(shè)備信息;

? ??通過TCP連接目標(biāo)設(shè)備、端口轉(zhuǎn)發(fā);

? ? 安裝 / 卸載 / 啟動 應(yīng)用;

? ? 推送文件到設(shè)備 / 下拉文件到本地;

? ? 查看 設(shè)備信息 / 系統(tǒng)日志;

????發(fā)送命令;

????...

? ? 參考:http://www.itdecent.cn/p/698a24d758c7

? ? ? ? ? ? ? ?http://www.itdecent.cn/p/860bc2bf1a6a


? ? 這次主要用到的:

? ? ? ? 清理ADB:?adb kill-server(啟動ADB前需要清理之前啟動過的進(jìn)程,否則出錯);

????????啟動ADB: adb start-server;

? ? ????點(diǎn)擊屏幕: adb shell input tap 50 100 (點(diǎn)擊屏幕上50,100坐標(biāo),具體跟屏幕尺寸及分辨率相關(guān));

????????滑動屏幕: adb shell input swipe 50 100 50 200 (下滑屏幕,從50,100坐標(biāo)滑到50,200坐標(biāo));

? ? ? ? 屏幕截圖:?adb shell screencap -p /sdcard/screen.png (截圖保存為screen.png);

? ? ? ? 下拉文件: adb pull /sdcard/screen.png (把screen.png拉回PC);

? ? ? ? 輸入文字: adb shell input text? 12345? (向安卓設(shè)備輸入12345,只能是英文字母或數(shù)字,中文要另外處理);

? ? ? ? 輸入中文: 先安裝這個開源輸入法: https://github.com/senzhk/ADBKeyBoard (據(jù)說還能輸入韓文日文等等,但我沒試過);

? ? ? ? ? ? ? ? ? ? ? ? ? ?設(shè)置安卓當(dāng)前輸入法:adb shell ime set com.android.adbkeyboard/.AdbIME;

? ? ? ? ? ? ? ? ? ? ? ? ? ?輸入中文:adb shell am broadcast -a ADB_INPUT_TEXT --es 中文字符串;

? ? ? ? 靜音:? ? ? ? adb shell input keyevent 164;

? ? ? ? 返回按鈕:?adb shell input keyevent 4;

? ? ? ? 啟動應(yīng)用:?adb shell am start -n 應(yīng)用名稱/activity名稱(如何找到一個App的應(yīng)用名稱和Activity名稱,后續(xù)會展開說);

? ? ? ? 退出應(yīng)用:?adb shell pm clear 應(yīng)用名稱

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 調(diào)試橋 Android 調(diào)試橋 (adb) 是一個通用命令行工具,其允許您與模擬器實(shí)例或連接的 A...
    guanjm閱讀 1,633評論 0 1
  • android開發(fā)環(huán)境中,ADB是我們進(jìn)行android開發(fā)經(jīng)常要用的調(diào)試工具,它的使用當(dāng)然是我們Android開...
    Memebox閱讀 6,338評論 0 32
  • 最近看到一些關(guān)于adb的相關(guān)知識,總結(jié)一下,這些常用的命令以后可以直接拿來用~ adb其實(shí)就是Android De...
    Mr_馮先生閱讀 4,433評論 0 10
  • 原:http://www.itdecent.cn/p/980fea2c9457 1、查看最上層成activity...
    柒黍閱讀 1,720評論 0 0
  • adb:Android 調(diào)試橋接 Android Debug Bridge,是一個 C/S 架構(gòu)的命令行工具 a...
    LLd_閱讀 3,334評論 0 3

友情鏈接更多精彩內(nèi)容