編程學(xué)習(xí)網(wǎng) > 編程語言 > Python > YYDS!輕松用Python程序代碼控制你的手機(jī)!
2025
08-05

YYDS!輕松用Python程序代碼控制你的手機(jī)!


“Python編程幾乎能做任何事,只要你敢想,敢嘗試!”,今天來看下用Python代碼怎么來控制你的安卓手機(jī)。具體的說是代替你的手,實(shí)現(xiàn)自動(dòng)的觸摸和一些動(dòng)作,實(shí)現(xiàn)自動(dòng)化操作!

主要用的是安卓手機(jī)的Android調(diào)試橋(Android Debug Bridge),它是一個(gè)非常有用的工具!本文的這個(gè)快速指南中,我將向你展示如何使用Python代碼與ADB交互,并如何創(chuàng)建2個(gè)快速腳本。

ADB(Android Debug Bridge)是一個(gè)命令行工具(CLI),可用于控制Android設(shè)備并與之通信。可以執(zhí)行許多操作:例如安裝應(yīng)用程序,調(diào)試應(yīng)用程序,查找隱藏的功能并使用外殼程序直接與設(shè)備連接。

要啟用ADB,你的設(shè)備必須首先解鎖開發(fā)者選項(xiàng)并啟用USB調(diào)試——要解鎖開發(fā)人員選項(xiàng),轉(zhuǎn)到設(shè)備設(shè)置,然后向下滾動(dòng)到“關(guān)于”部分,找到設(shè)備上當(dāng)前軟件的內(nèi)部版本號(hào)。單擊內(nèi)部版本號(hào)7次,將啟用“開發(fā)人員選項(xiàng)”。

然后,您可以轉(zhuǎn)到設(shè)置中的“開發(fā)人員選項(xiàng)”面板,然后從那里啟用USB調(diào)試。現(xiàn)在,基本大功告成,你唯一需要做的一件事就是將你的手機(jī)用USB電纜連接到計(jì)算機(jī)。好,今天的旅程是這樣的:介紹安裝要求初步帶你入門、帶你飛介紹編寫腳本的基礎(chǔ)創(chuàng)建自拍計(jì)時(shí)器創(chuàng)建定義搜索器

1.安裝準(zhǔn)備工作

需要安裝的兩件事中的第一件事就是是計(jì)算機(jī)上的ADB工具。它會(huì)自動(dòng)與Android Studio捆綁在一起,因此,如果已經(jīng)安裝了Android Studio那就不用擔(dān)心。否則,可以轉(zhuǎn)到官方文檔,并且在頁面頂部應(yīng)該有有關(guān)如何安裝它的說明。安裝ADB工具后,需要獲取python庫,我們將使用該庫與ADB和我們的手機(jī)進(jìn)行接口。

安裝命令如下:

下面這個(gè)不是必須的,但很有必要:為了讓我們開發(fā)腳本時(shí)更輕松,可以安裝一個(gè)名為scrcpy的開源程序,該程序允許我們使用鼠標(biāo)和鍵盤在我們的計(jì)算機(jī)上顯示和控制我們的android手機(jī)設(shè)備。要安裝它,可以轉(zhuǎn)到Github倉庫并下載適用于你的操作系統(tǒng)(Windows,macOS或Linux)的正確版本。如果使用的是Windows,則將zip文件解壓縮到一個(gè)目錄中,然后將此目錄添加到您的路徑中。這樣一來,我們只需在終端窗口中鍵入scrcpy即可從系統(tǒng)上的任何位置訪問該程序。

2.帶你入門帶你飛

現(xiàn)在已經(jīng)安裝了所有依賴項(xiàng),可以啟動(dòng)ADB并連接設(shè)備。首先,使用USB電纜將設(shè)備連接到PC,如果啟用了USB調(diào)試,則會(huì)彈出一條消息,詢問PC是否可以控制設(shè)備,只需回答是。然后在你的PC上,打開一個(gè)終端窗口,并通過鍵入adb start-server來啟動(dòng)ADB服務(wù)器。這應(yīng)該打印出以下消息:

如果還安裝了scrcpy,則只需在終端中鍵入scrcpy即可啟動(dòng)。但是,只有將其添加到路徑后,此方法才能起作用,否則,可以通過將終端目錄更改為安裝scrcpy的目錄并鍵入scrcpy.exe來打開可執(zhí)行文件。希望一切順利,你應(yīng)該能夠在PC上看到您的設(shè)備,并能夠使用鼠標(biāo)和鍵盤對(duì)其進(jìn)行控制。

現(xiàn)在,我們可以創(chuàng)建一個(gè)新的python文件,并檢查是否可以使用上面的庫找到連接的設(shè)備:

上面這里,我們導(dǎo)入AdbClient類并使用它創(chuàng)建一個(gè)客戶端對(duì)象。然后,我們可以獲得連接的設(shè)備的列表。最后,我們從列表中獲得第一臺(tái)設(shè)備(如果僅連接了一個(gè)設(shè)備,則通常是唯一的設(shè)備)。

3.編寫腳本的基礎(chǔ)

我們要與設(shè)備連接的主要方式是使用shell,通過這種方式,我們可以發(fā)送命令以模擬特定位置的觸摸或從A滑動(dòng)到B。要模擬屏幕觸摸(輕擊),我們首先需要工作了解屏幕坐標(biāo)的工作方式。為了幫助解決這些問題,我們可以在開發(fā)人員選項(xiàng)中激活指針位置設(shè)置。激活后,無論您在屏幕上的何處觸摸,都可以看到該點(diǎn)的坐標(biāo)顯示在頂部。手機(jī)屏幕坐標(biāo)系的工作方式如下:

顯示屏的左上角就是x和y坐標(biāo)點(diǎn)(0,0),右下角的坐標(biāo)是x和y的最大可能值。現(xiàn)在我們知道了坐標(biāo)系的工作原理,我們需要檢查一下可以運(yùn)行的不同命令。我在下面列出了命令列表以及如何使用它們,以供快速參考(英文不懂?好好查查吧)

4.創(chuàng)建自拍計(jì)時(shí)器

哦,現(xiàn)在我們大概知道了能做什么,讓我們開始吧,做一個(gè)簡(jiǎn)單的例子。我將向你展示如何創(chuàng)建一個(gè)快速的自拍計(jì)時(shí)器。首先,我們需要導(dǎo)入我們的庫并創(chuàng)建一個(gè)connect函數(shù)以連接到我們的設(shè)備:你可以看到connect函數(shù)與前面的如何連接到設(shè)備的示例相同,除了這里我們返回設(shè)備和客戶端對(duì)象以供以后使用。

在上面的主代碼中,我們可以調(diào)用connect函數(shù)來檢索設(shè)備和客戶端對(duì)象。從那里我們可以打開相機(jī)應(yīng)用程序,等待5秒鐘并拍照。真的就是這么簡(jiǎn)單!正如我之前說過的,這只是復(fù)制你通常會(huì)做的事情,因此,如果首先手動(dòng)進(jìn)行操作并寫下步驟,則思考如何做事情是最好的。相信和我學(xué)Python的童鞋們都能理解上面的代碼吧?

5.創(chuàng)建定義搜索器

現(xiàn)在,我們做一些更復(fù)雜的事情:要求瀏覽器找到特定單詞的定義,并截圖以將其保存在我們的計(jì)算機(jī)上。要寫的程序的基本流程如下:打開瀏覽器單擊搜索欄輸入搜索查詢等待幾秒鐘截圖并保存但是,在開始之前,你需要在默認(rèn)瀏覽器中找到搜索欄的坐標(biāo),可以使用我之前建議的方法輕松地找到它們。對(duì)我來說,他們是(440,200)。

首先,我們必須導(dǎo)入與以前相同的庫,使用相同的connect方法。在我們的主要函數(shù)中,我們可以調(diào)用connect函數(shù),并為搜索欄的x和y坐標(biāo)分配一個(gè)變量。注意這是一個(gè)字符串,而不是一個(gè)列表或元組,這樣我們就可以輕松地將坐標(biāo)合并到我們的shell命令中。我們還可以從用戶那里獲取輸入信息,以查看他們想要獲取哪個(gè)單詞的定義:

我們會(huì)將查詢添加到完整的句子中,然后對(duì)其進(jìn)行搜索,這樣我們就可以始終獲取定義。之后,我們可以打開瀏覽器,然后將搜索查詢輸入到搜索欄中,如下所示:

在這里,我們使用eventID 66模擬輸入鍵的按下以執(zhí)行搜索。如果需要,可以根據(jù)需要更改等待時(shí)間。最后,我們?cè)谠O(shè)備對(duì)象上使用screencap方法獲取屏幕截圖,并將其另存為.png文件:

在這里,我們必須以寫字節(jié)模式("wb")打開文件,因?yàn)閟creencap方法返回表示圖像的字節(jié)。如果一切都按計(jì)劃進(jìn)行,則應(yīng)該有一個(gè)快速腳本來搜索特定單詞。在我的手機(jī)上正常工作是這樣的:

希望你今天學(xué)到了一些新知識(shí),在我對(duì)此進(jìn)行研究之前,我其實(shí)也不知道,但很酷的事情是:使用它你基本可以執(zhí)行平常可以做的任何事情!沒錯(cuò),而且還可以做更多的事,因?yàn)樗皇悄M你自己在手機(jī)上的觸摸和動(dòng)作!

以上就是“YYDS!輕松用Python程序代碼控制你的手機(jī)!的詳細(xì)內(nèi)容,想要了解更多Python教程歡迎持續(xù)關(guān)注編程學(xué)習(xí)網(wǎng)。

掃碼二維碼 獲取免費(fèi)視頻學(xué)習(xí)資料

Python編程學(xué)習(xí)

查 看2022高級(jí)編程視頻教程免費(fèi)獲取