国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Python調(diào)用adb shell

這篇具有很好參考價值的文章主要介紹了Python調(diào)用adb shell。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

在Android開發(fā)中,ADB(Android Debug Bridge)是一個非常重要的工具。它可以讓我們通過命令行或者其他的客戶端與安裝了ADB驅(qū)動的Android設(shè)備進(jìn)行通信,并進(jìn)行一些調(diào)試操作。

Python作為一門靈活強大的語言,很自然就成為了用來控制ADB的工具之一。本文將介紹如何使用Python調(diào)用ADB shell,在外部程序中控制Android設(shè)備。

  1. 安裝ADB

首先需要在電腦上安裝ADB。可以在終端執(zhí)行以下命令來檢查是否已經(jīng)安裝:

adb version

如果未找到該命令,請按照以下步驟來安裝:

下載適用于您計算機操作系統(tǒng)的最新版 ADK 工具包并提取其內(nèi)容。

啟動 Android Studio 并打開 SDK 管理器:

確保打開“SDK 工具”選項卡,并選擇“Android SDK Platform-tools”復(fù)選框。接下來單擊“OK”按鈕以下載和安裝所選項目及其依賴項。

在完成設(shè)置后,請?zhí)砑?adb 所在目錄至 PATH 環(huán)境變量中。這樣做可以讓您從任意位置運行 adb 命令。

  1. 檢查設(shè)備連接狀態(tài)

在使用Python調(diào)用adb shell之前,必須先檢查Android設(shè)備是否正確地連接到計算機上。可以通過執(zhí)行以下adb命令來檢查當(dāng)前設(shè)備列表:

adb devices

如果設(shè)備已經(jīng)與電腦連接,則會列出所有相關(guān)信息。

  1. 通過subprocess模塊執(zhí)行adb命令

Python的subprocess模塊是一個非常有用而且方便操作外部進(jìn)程和應(yīng)用程序的庫。我們可以使用它來執(zhí)行各種各樣的系統(tǒng)調(diào)用,包括運行adb命令。

下面是一個簡單示例,展示如何利用subprocess模塊在Python中執(zhí)行adb shell命令:

import subprocess

output = subprocess.getoutput(‘a(chǎn)db shell’)

print(output)

這段代碼會輸出類似于下面這樣的東西(不包含單引號):

‘mobile:/$’

這個輸出表示你正處于一個虛擬移動平臺shell環(huán)境里,而’$'則代表著這里是提示符。

注意:要想成功地連通 Python 和直接面向移動平臺輸入指令并接受響應(yīng)時完全一致,我們需要注意標(biāo)準(zhǔn)輸入流、標(biāo)準(zhǔn)輸出流以及標(biāo)準(zhǔn)錯誤流之間關(guān)系和傳輸要求等問題。例如,在獲取返回結(jié)果之前應(yīng)該先阻塞等待讀取語句結(jié)束信號等,以免造成數(shù)據(jù)混亂和無效API操作。

  1. 使用Python adb庫

除了使用subprocess模塊之外,還可以使用Python adb庫。它是一個功能豐富而又易于使用的ADB工具,提供了對設(shè)備和模擬器的高級控制??梢灾苯釉赑yPI上安裝此庫:

pip install adb

調(diào)用adb庫需要先連接到設(shè)備,并獲取設(shè)備對象,在利用該類的send_command()方法發(fā)送指令即可實現(xiàn)運行AT指令等復(fù)雜SDK開發(fā)。

以下是一個簡單示例程序:

import adb
a = adb.ADB()
a.command(“devices”)

  1. 控制Android設(shè)備輸入輸出

PyAutoGUI 是 Python 的第三方自動化框架,支持跨平臺。它使得通過編寫 Python 腳本能夠自動地模擬鼠標(biāo)和鍵盤操作、截屏、圖像處理等功能。當(dāng)然,這個庫也支持 Android 設(shè)備操作。

首先需要在Android設(shè)備上安裝 PyAutoGUI 的應(yīng)用程序:https://github.com/asweigart/pyautogui-android/releases

下載 apk 文件并安裝到您的 Android 設(shè)備中即可。打開應(yīng)用之后,請允許它訪問“無障礙”權(quán)限,以便能夠更好地監(jiān)視并控制其他應(yīng)用程序。

下面是一個簡單示例程序,展示如何使用 PyAutoGUI 在Android設(shè)備上控制輸入輸出:

import pyautogui as gui
import time

gui.click(500, 250)
time.sleep(1)
gui.typewrite(‘Hello, world!’)

以上代碼會在Android設(shè)備的(500, 250)位置點擊屏幕并輸入 ‘Hello, world!’。

  1. 實現(xiàn)基礎(chǔ)自動化測試

在實際項目中,經(jīng)常會需要進(jìn)行一些基礎(chǔ)的自動化測試,例如檢查某個頁面是否正常進(jìn)行渲染或者檢查某個按鈕是否能正常響應(yīng)點擊事件。這時候就可以結(jié)合以上介紹的內(nèi)容來實現(xiàn)自動化測試。

以下是一個簡單示例程序:

import subprocess
import time
import pyautogui as gui

連接到Android設(shè)備

output = subprocess.getoutput(‘a(chǎn)db devices’)
if ‘device’ not in output:
print(’?? Device not found’)
exit()

打開瀏覽器頁面

subprocess.call([‘a(chǎn)db’, ‘shell’, ‘a(chǎn)m’, ‘start’,
‘-a’, ‘a(chǎn)ndroid.intent.action.VIEW’,
‘-d’, ‘http://www.baidu.com’])
time.sleep(10)

定位搜索框并輸入關(guān)鍵字

x,y = gui.locateCenterOnScreen(‘search_box.png’)
gui.moveTo(x,y,duration=0.2)
gui.click()
gui.typewrite(‘python’)
gui.press(‘enter’)

以上代碼會連接至Android設(shè)備,并啟動系統(tǒng)默認(rèn)瀏覽器后前往百度搜索Python相關(guān)信息。

  1. 總結(jié)

Python調(diào)用ADB shell已經(jīng)成為一種非常普遍而又必要的方式去控制Android平臺其主要優(yōu)勢在于精簡快速查詢狀態(tài);批量時延低最為突出以及流程引導(dǎo),并能與同一或不同語言項目結(jié)合起來協(xié)作處理完整團(tuán)隊容器健康狀況考核評估然后交付給真實環(huán)境平臺完成系統(tǒng)封裝等大任務(wù)請求。

在日常開發(fā)過程中,在特定開發(fā)場景下區(qū)分原生移動端調(diào)試技巧和深度定位搜索策略都可以優(yōu)良傳遞價值思想使得核心競爭力倍增同時促進(jìn)全球分布式軟件服務(wù)發(fā)揮出最長遠(yuǎn)影響力。文章來源地址http://www.zghlxwxcb.cn/news/detail-465886.html

到了這里,關(guān)于Python調(diào)用adb shell的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進(jìn)行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • adb bugreport 與adb shell getprop 詳解

    adb bugreport 與adb shell getprop 詳解

    ??作者簡介: 小曾同學(xué).com,一個致力于測試開發(fā)的博主??, 如果文章知識點有錯誤的地方,還請大家指正,讓我們一起學(xué)習(xí),一起進(jìn)步。?? 座右銘:不想當(dāng)開發(fā)的測試,不是一個好測試??。 如果感覺博主的文章還不錯的話,還請點贊、收藏哦!?? 今天主要分享在移動

    2024年02月10日
    瀏覽(23)
  • 可測含多進(jìn)程的app-- python調(diào)用adb命令獲取Android App應(yīng)用的性能數(shù)據(jù):CPU、GPU、內(nèi)存、電池、耗電量(含python源碼)

    可測含多進(jìn)程的app-- python調(diào)用adb命令獲取Android App應(yīng)用的性能數(shù)據(jù):CPU、GPU、內(nèi)存、電池、耗電量(含python源碼)

    python腳本通過os.popen()方法運行adb命令,獲取性能數(shù)據(jù),將性能數(shù)據(jù)保存在csv文件并算出均值、最大值、最小值。 本腳本可測試一個app包含多個進(jìn)程的場景,可以獲取 每個進(jìn)程的性能數(shù)據(jù) 。 2.1 軟件環(huán)境 具備python環(huán)境,Android環(huán)境 需要python庫:os, csv, time, datetime, sys,time,panda

    2024年02月13日
    瀏覽(32)
  • adb shell命令

    前面給大家分享了Airtest,感興趣的小伙伴,可以前往:手機自動化測試IDE—–Airtest實戰(zhàn)篇、手機自動化測試IDE —– 手把手教你用Airtest模擬器來連接手機、手機自動化測試IDE—–Airtest基本操作方法、手機自動化測試IDE —– Airtest的安裝和IDE控件詳解,任君挑選。 ADB,中文名

    2023年04月18日
    瀏覽(28)
  • shell腳本,ADB

    Linux命令行命令是系統(tǒng)內(nèi)置的命令或用戶 自定義的腳本 (shell 腳本, .sh擴(kuò)展名結(jié)尾 ),可以通過終端輸入命令來執(zhí)行。這些命令通常存儲在Linux系統(tǒng)的/bin、/usr/bin、/sbin、/usr/sbin等目錄下,也可以在$PATH環(huán)境變量中指定的其他目錄中找到。Linux命令行命令是由shell解釋器直接執(zhí)

    2024年01月16日
    瀏覽(17)
  • adb shell dumpsys SurfaceFlinger

    adb shell dumpsys SurfaceFlinger

    adb shell dumpsys SurfaceFlinger 分析Android 系統(tǒng)圖層 此命令輸出的內(nèi)容不較多,可以將輸出內(nèi)容重定向到一個文件中 如下的內(nèi)容,過濾 HWC layers 另外過濾上一節(jié)提到的 WindowedMagnification ,可發(fā)現(xiàn)和窗口的層級樹是對應(yīng)的: 參考: 圖形 硬件混合渲染器 (HWC) HAL 用于確定通過可用硬件

    2024年02月16日
    瀏覽(30)
  • adb shell下常見查看命令

    top查看進(jìn)程信息 ls查看當(dāng)前目錄結(jié)構(gòu) ls -a 查看當(dāng)前目錄下所有文件 ps data 打印或設(shè)置當(dāng)前系統(tǒng)時間 dumpsys 查看apk所在位置 pm list packages -f | grep apk包名 dumpsys package apk包名 查看棧頂activity dumpsys activity | grep “mFocusedActivity” dumpsys window | grep mCurrentFocus 查看window焦點的活動名稱和

    2024年02月09日
    瀏覽(26)
  • adb shell 查看和修改電池信息

    ?命令: adb shell dumpsys battery Current Battery Service state: AC powered: false //false表示沒使用AC電源 USB powered: true //true表示使用USB電源 Wireless powered: false ? ? ? //false表示沒使用無線電源 status: 2 //2表示電池正在充電,1表示沒充電 health: 2 //2表示電池狀態(tài)優(yōu)秀 present: true ? ?/?/true表示已

    2024年02月08日
    瀏覽(18)
  • adb修改android系統(tǒng)時間 adb shell date必須要root權(quán)限

    adb修改android系統(tǒng)時間 adb shell date必須要root權(quán)限

    以下是一個示例代碼,展示如何實現(xiàn)這個格式化: 請注意, GetSystemTime 函數(shù)獲取的是 GMT 時間,所以如果你需要的是本地時間的毫秒數(shù),應(yīng)該使用 GetLocalTime 函數(shù)替換 GetSystemTime 。同時,這種方法假定系統(tǒng)時區(qū)設(shè)置是正確的。如果系統(tǒng)時區(qū)設(shè)置不正確,計算出的時間可能會有

    2024年02月02日
    瀏覽(20)
  • Android adb shell svc 知識詳解

    這個命令可以用來控制電源管理,wifi開關(guān),數(shù)據(jù)開關(guān)(就是上網(wǎng)流量),注意需要root權(quán)限。 有興趣的可以一起學(xué)習(xí)一下。 一、svc 常用命令: 其實還有其他svc 命令,如果想深入了解可以往后看看。 查看系統(tǒng)是否安裝了svc 路徑 /system/bin/svc 如果存在這個 svc 文件,那就就可以執(zhí)

    2024年02月09日
    瀏覽(23)
  • adb shell dumpsys 使用命令和來源

    adb shell dumpsys 使用命令和來源

    ? ? ? ? adb shell dumpsys 在Android開發(fā)中經(jīng)常要用到,平時都是零碎的積累,用到什么的時候就 記錄下來,最近看了一些資料,發(fā)現(xiàn)可以匯總所有的命令,當(dāng)帶某個參數(shù)的時候,就可以查看具體 的信息, 本篇文章中還講解了如何去找命令的源碼和源頭,供參考! 1. 列出系統(tǒng)所

    2024年02月14日
    瀏覽(24)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包