安卓開發(fā),android studio,sdk,apk,這些名字在安卓開發(fā)中并不陌生。
adb的全稱是:android debug bridge,即安卓調(diào)試橋。如字面意思adb工具就是用來調(diào)試安卓設(shè)備的,再具體一點(diǎn)就是通過pc來連接控制安卓設(shè)備;
1.下載與安裝
下載地址:adb工具下載-windows
設(shè)置環(huán)境變量:從以上鏈接下載對(duì)應(yīng)安裝包后,解壓到自定義目錄,打開文件夾,可以看到
adb.exe文件,所以接下來的就是將該目錄加入到全局環(huán)境變量中,這樣就可以在命令行中直接使用;-
檢查是否安裝成功:
adb version
Android Debug Bridge version 1.0.41
Version 31.0.3-7562133
Installed as D:\platform-tools\adb.exe</pre>- 顯示如上結(jié)果則表示安裝和設(shè)置成功。
2.adb使用場(chǎng)景
連接電腦上安裝的安卓模擬器。在通過AS運(yùn)行安卓程序時(shí)可選擇第三方安卓模擬器進(jìn)行。(Android Studio是極其占用資源的,配置低的電腦用AS自帶的模擬器,容易卡死,第三方模擬器可以較有效處理這個(gè)問題)
連接安卓手機(jī)。安卓系統(tǒng)都有一個(gè)開發(fā)者模式,開啟開發(fā)者模式中的usb調(diào)試后,使用adb工具能對(duì)安卓系統(tǒng)進(jìn)行一定的操作。(比如:常見的操作有返回,主頁(yè),安裝應(yīng)用,打開應(yīng)用,熄屏,亮屏)
3.adb的常用指令
開啟和關(guān)閉adb服務(wù):
adb start -server和adb kill-server。網(wǎng)上大部分資料都把這兩條指令作為了第一條,但主觀認(rèn)為這兩條命令基本不會(huì)用上;因?yàn)橐呀?jīng)設(shè)置了adb的全局環(huán)境變量,只要在命令行使用adb指令自然就啟動(dòng)了(未連接設(shè)備狀態(tài)),另外在連接設(shè)備成功后,adb的調(diào)試功能也會(huì)自動(dòng)啟動(dòng)(正常調(diào)試狀態(tài));-
連接安卓設(shè)備:
adb connect [ip]:端口本機(jī)模擬器的話,不同模擬器開啟的端口不同,但ip都設(shè)為127.0.0.1;安卓設(shè)備的話,存在兩種連接方式:有線連接和無線連接;有線連接:使用usb線將安卓設(shè)備與pc相連。pc確??梢哉_\(yùn)行adb工具,安卓設(shè)備確保開啟了開發(fā)者模式(不同品牌手機(jī)開啟方式不同,可以自行查詢,比如:vivo
設(shè)置-系統(tǒng)管理-關(guān)于手機(jī)-軟件版本號(hào)7次以上)并將usb調(diào)試功能打開(vivo開啟開發(fā)者模式后,返回到系統(tǒng)管理界面可以看到開發(fā)者選項(xiàng),將usb調(diào)試功能打開)。連接后,pc端通過命令行啟動(dòng)adb,這時(shí)安卓設(shè)備一般會(huì)提示是否運(yùn)行usb調(diào)試?,選擇允許后,adb工具設(shè)備列表可以正確顯示當(dāng)前連接設(shè)備;無線連接:確保pc和安卓設(shè)備在同一局域網(wǎng)內(nèi),查看安卓設(shè)備的ip信息,因?yàn)檫€缺少端口信息,根據(jù)設(shè)備的初始設(shè)定不同,有的設(shè)備預(yù)定義了端口,查閱相關(guān)文檔資料可以找到;而有的設(shè)備需要自行定義相應(yīng)端口,如個(gè)人移動(dòng)設(shè)備,在有線連接成功的基礎(chǔ)上使用
adb tcpip 端口就可以將調(diào)試端口設(shè)定為自定義的端口;
查看連接設(shè)備:
adb devices。檢測(cè)設(shè)備是否連接成功可以通過該指令進(jìn)行查看,需要注意的是,對(duì)應(yīng)設(shè)備序列或ip信息后的狀態(tài)欄信息:如果是unauthorized一般是因?yàn)槲丛诎沧吭O(shè)備上進(jìn)行usb調(diào)試授權(quán),device則表示被正常連接;另外adb一次只能控制一臺(tái)設(shè)備,所以當(dāng)列表中有多臺(tái)設(shè)備的時(shí)候,就需要將不操作的設(shè)備斷開連接adb disconnect ip:端口;點(diǎn)亮屏幕
adb shell input keyevent 224熄滅屏幕
adb shell input keyevent 223按下返回鍵
adb shell input keyevent 4按下HOME鍵
adb shell input keyevent 3按下電源鍵
adb shell inpuy keyevent 26查看應(yīng)用列表
adb shell pm list packages啟動(dòng)應(yīng)用
adb shell monkey -p <packagename> -c android.intent.category.LAUNCHER 1強(qiáng)行退出應(yīng)用
adb shell am force-stop <packagename>撥號(hào)
adb shell am start -a android.intent.action.DIAL -d tel:10086通話
adb shell am start -a android.intent.action.CALL -d tel:10086點(diǎn)擊坐標(biāo)
adb shell input tap x坐標(biāo) y坐標(biāo)
* 如果能獲取安卓應(yīng)用中每個(gè)操作項(xiàng)的具體坐標(biāo)就能通過點(diǎn)擊操作對(duì)整個(gè)應(yīng)用進(jìn)行操作;
- 兩點(diǎn)畫線
adb shell input swipe 坐標(biāo)1:X軸坐標(biāo) 坐標(biāo)1:Y軸坐標(biāo) 坐標(biāo)2:X軸坐標(biāo) 坐標(biāo)2:Y軸坐標(biāo)
* 安卓組件的布局方式為了保證其通用性,一般采用的是相對(duì)布局的方式,但對(duì)應(yīng)到用戶的操作,使用的是絕對(duì)坐標(biāo);而對(duì)于屏幕絕對(duì)坐標(biāo)的獲取,除了逐個(gè)范圍調(diào)試外,開發(fā)者模式中能夠開啟報(bào)點(diǎn)功能。
3.項(xiàng)目實(shí)操
在安卓設(shè)備的畫板上打印輸出HELLO字樣,并保存。
-
準(zhǔn)備功能
pc安裝adb工具并在確保在命令行可操作執(zhí)行;
安卓設(shè)備開啟開發(fā)者模式并打開usb調(diào)試功能;
pc和安卓連接到同一局域網(wǎng)以確保adb工具可連接安卓設(shè)備;
-
具體實(shí)現(xiàn)
連接安卓設(shè)備;
查看安卓設(shè)備中的應(yīng)用列表;
打開畫板類應(yīng)用;
使用兩點(diǎn)畫線繪制字樣;
使用單點(diǎn)點(diǎn)擊選中保存功能;
退出應(yīng)用;
命令行單命令調(diào)試,整合形成腳本文件(
.bat);
-
效果檢查
畫線過程中查看報(bào)點(diǎn)情況;
查看保存文件內(nèi)容;
-
功能優(yōu)化
cmd下的單命令執(zhí)行效率較低,每個(gè)坐標(biāo)都是逐個(gè)輸入的。powershell是cmd的功能升級(jí),可執(zhí)行一定的編程腳本,如創(chuàng)建變量或循環(huán)執(zhí)行;為提高操作的復(fù)用性,可以抽取打印字樣的相同點(diǎn),編寫相應(yīng)的接口函數(shù)(如橫線,豎線……);
bat文件與powershell的結(jié)合使用,需要另外查找相關(guān)資料;
-
最終效果展示
HELLO字樣.jpg
