寫給設(shè)計(jì)師的開發(fā)知識(shí) —— ADB篇

一、ADB 簡(jiǎn)介
adb,全稱 Android Debug Bridge ,直譯是安卓調(diào)試橋,可以簡(jiǎn)單理解成 Android 開發(fā)中用來(lái)調(diào)試的工具,用這個(gè)工具就可以直接通過(guò)電腦對(duì)手機(jī)進(jìn)行一系列的操作,比如常用的安裝應(yīng)用、重啟手機(jī)等操作。當(dāng)然部分開發(fā)也會(huì)使用它進(jìn)行安卓設(shè)備監(jiān)聽、抓 log 等調(diào)試操作。
二、ADB 安裝
首先要說(shuō)明的是,adb 既然是安卓的調(diào)試工具,也就意味著你如果安裝了 Google 的開發(fā)工具 Android Studio,應(yīng)該就在安裝過(guò)程中應(yīng)該已經(jīng)完成了 adb 的下載。如果對(duì) Android 開發(fā)有興趣的設(shè)計(jì)師,可以通過(guò)上述方式直接一步到位。
但是,Android Studio 有將近 2G 的軟件大小,只是為了幾個(gè) adb 命令去安裝實(shí)在是大材小用。所以這里會(huì)介紹給大家只安裝 adb 工具的方式。?
Mac 安裝
mac 電腦安裝 adb 稍微有一些繁瑣,adb 需要使用 Homebrew 安裝,而 Homebrew 又需要先主動(dòng)安裝命令行工具。
1. 安裝命令行工具
macOS 并沒(méi)有打算呈現(xiàn)給用戶太過(guò)復(fù)雜的界面,所以你可能看到在一些影視作品中,一些電腦高手會(huì)使用命令行工具完成一些電腦的操作。

而這部分的能力,在 macOS 中是被隱藏的,所以需要先去激活。激活的方式頁(yè)很簡(jiǎn)單,在 macOS 的 Launcher 中,找到終端這個(gè)應(yīng)用。

打開后直接輸入:xcode-select --install
如果之前沒(méi)有安裝過(guò)命令行工具, 會(huì)直接出現(xiàn)彈窗提示,這個(gè)時(shí)候直接點(diǎn)擊安裝就可以了。

如果出現(xiàn)一些問(wèn)題(例如系統(tǒng)限制、網(wǎng)絡(luò)不佳),你也可以使用其他設(shè)備下載好離線安裝包(可以在蘋果官網(wǎng)進(jìn)行選擇 Command Line Tools)然后進(jìn)行安裝。?
2. 安裝 Homebrew
Homebrew 官方說(shuō)法是一個(gè)軟件包管理工具,通俗一點(diǎn)可以理解成一個(gè)各種工具的“管家”。因?yàn)椴⒎撬熊浖拈_發(fā)者都會(huì)給自己的工具開發(fā)好看的 UI 界面,做一個(gè)好看的網(wǎng)站展示自己的工具。很多人都只是寫出一段代碼,直接上傳至網(wǎng)上供大家使用,所以這是就需要一個(gè)東西來(lái)對(duì)這些巨量的小工具進(jìn)行一個(gè)管理,Homebrew 就是這個(gè)東西,要先下載它,然后再通過(guò)它去下載 adb 工具。
還是那個(gè)終端,輸入ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
這個(gè)時(shí)候不出意外應(yīng)該會(huì)讓你輸入你的電腦密碼,就是下面這坨:

在輸入過(guò)程中界面是不會(huì)出現(xiàn)什么反饋的,直接輸入,輸入完成敲回車就可以。
后續(xù)安裝命令行給的提示繼續(xù)完成安裝。

(這個(gè)時(shí)候記得敲下回車)
等到界面上出現(xiàn)==> Installation successful!
就意味著安裝已經(jīng)正式完成了。
3. 使用 Homebrew 安裝 adb
直接輸入
brew install --cask android-platform-tools
等界面安靜下來(lái)就說(shuō)明安裝完成了,可以輸入命令adb version
查看是否安裝成功。

如果能正常顯示版本,就說(shuō)明安裝成功了。
Windows 安裝
Windows 相對(duì)來(lái)說(shuō)更加“工程師友好”一些,不需要安裝命令行工具也不需要安裝 Homebrew ,下載 adb 并配置完成后就可以直接使用。
先去官網(wǎng)下載一下,adb 被官方打包進(jìn)了一個(gè)工具包中,名稱叫做?SDK Platform Tools(訪問(wèn)不了外網(wǎng)的可以在國(guó)內(nèi)網(wǎng)站下載鏡像)。
下載完成后解壓:
【補(bǔ)圖,windows 的安裝目錄】
然后,移動(dòng)到合適的目錄里(推薦放C盤,不會(huì)亂動(dòng)),之后要把這個(gè)目錄記下來(lái)。比如如果將 platform 放到了“C:/windows”這下面,就把“C:/windows/platform-tools”這個(gè)記下來(lái),后面有大用處。
然后,按 windows + r ,輸入 sysdm.cpl 回車,依次點(diǎn)擊 高級(jí)-環(huán)境變量-系統(tǒng)變量-path。將adb的存放路徑添加進(jìn)path中。
【補(bǔ)圖,增加環(huán)境變量】
連續(xù)確定后,adb 就安裝完成了。
還是 windows + r ,輸入 cmd 回車,打開命令行工具(如果之前開了的話需要關(guān)閉再打開),還是輸入 adb version ,如果出現(xiàn)版本信息就安裝成功了。
三、ADB 用法
正式使用 adb 之前需要打開手機(jī)的 USB 調(diào)試,具體方法每個(gè)手機(jī)都不一樣,自行搜索吧。打開之后記得連接到電腦。
安裝 apk
使用adb install <apk 目錄>
例如?adb install C:\\Users\\iw\\Desktop\\cod.apk
不過(guò),安裝 apk 的過(guò)程中會(huì)有一些特殊情況,這個(gè)時(shí)候就需要增加一些特別的參數(shù)來(lái)保證安裝成功。
比如有時(shí)候安裝提示[INSTALL_FAILED_TEST_ONLY],說(shuō)明這個(gè) apk 并不是正式的版本,所以不能直接被安裝在手機(jī)上,這個(gè)時(shí)候需要使用?adb install -t <apk 目錄>
來(lái)完成安裝
如果提示[INSTALL_FAILED_ALREADY_EXISTS],說(shuō)明已經(jīng)有同樣的應(yīng)用被安裝了,需要使用adb install -r <apk 目錄>
完成覆蓋安裝.
如果提示[INSTALL_FAILED_VERSION_DOWNGRADE],說(shuō)明你要裝的 apk 版本還沒(méi)有手機(jī)里的高,使用adb install -d <apk 目錄>
完成降級(jí)安裝。
需要說(shuō)一下這些命令也是可以混用的,比如你想裝一個(gè)低版本測(cè)試專用應(yīng)用,可以直接使用adb install -r -t <apk 目錄>
發(fā)送文件到手機(jī)/從手機(jī)拿文件
如果只是簡(jiǎn)單的發(fā)送一些文件到手機(jī),之前需要下載一些專用的軟件,但其實(shí)可以直接通過(guò) adb 的命令在不安裝任何應(yīng)用的前提下發(fā)送文件。使用adb push <電腦文件路徑> <手機(jī)路徑>
比如我想把桌面上的一個(gè) apk 發(fā)送到手機(jī)的 根目錄,那就直接使用adb push /Users/username/desktop/cod.apk \sdcard\
會(huì)出現(xiàn)一個(gè)百分比,等到百分比達(dá)到 100% 后,就發(fā)送成功了。
和 push 相對(duì)應(yīng)的是 pull ,可以直接理解成從手機(jī)里拿文件。使用?adb pull <手機(jī)文件路徑> <電腦路徑>
即可。
重啟
adb shell reboot
重啟還有一些比較有趣用法,在后面加上 recovery 可以直接進(jìn)入 recovery 模式進(jìn)行卡刷,如果是高通芯片的手機(jī)還可以通過(guò)加上 edl 進(jìn)入高通的刷機(jī)模式進(jìn)行線刷。
截圖錄屏
先adb shell screencap -p /sdcard/screenshot.png
截圖(使用 screenrecord 可以錄屏)
然后adb pull /sdcard/screenshot.png /Users/username/downloads
把圖片從手機(jī)拿到電腦
上面是比較常用的,下面是一些比較好玩的 adb 用法:
調(diào)戲電量
adb shell dumpsys battery unplug
設(shè)置手機(jī)為斷開充電狀態(tài)
adb shell dumpsys battery set wireless 2
設(shè)置手機(jī)為無(wú)線充電
adb shell dumpsys battery set level 100
設(shè)置手機(jī)電量百分比
玩夠了記得使用adb shell dumpsys battery reset
復(fù)位
模擬點(diǎn)擊
adb shell input tap [x坐標(biāo)] [y坐標(biāo)]
在坐標(biāo) x,y 點(diǎn)擊一下
adb shell input swipe [起始x坐標(biāo)] [起始y坐標(biāo)] [目標(biāo)x坐標(biāo)] [目標(biāo)y坐標(biāo)] [耗時(shí)]
?在手機(jī)上模擬滑動(dòng)
adb shell input text [字符串]
?模擬輸入字符串
永不鎖屏
adb shell settings put system screen_off_timeout 2147483647
(嚴(yán)格來(lái)說(shuō)是設(shè)置了一個(gè)超長(zhǎng)的息屏?xí)r間)
四、其他
不用數(shù)據(jù)線也能連接的方法
adb 是支持無(wú)線連接的,具體方法可以去 USB 調(diào)試下面,可以看到一個(gè)無(wú)線調(diào)試。

打開然后點(diǎn)進(jìn)去

有個(gè) IP 地址,記下來(lái),然后在電腦上使用命令adb connect <IP 地址>
,就可以直接連上了。不用了記得使用adb disconnect <IP 地址>
斷開連接。
適合懶人的 adb 使用方法
去 github 上下載一個(gè)別人封裝好的 adb 工具?QtScrcpy,然后直接打開使用。

這里基本把所有的常用命令都以按鈕的方式列出了,可以直接一鍵操作。更重要的是,這個(gè)工具應(yīng)該內(nèi)置了 adb 工具,所以不需要前面下載并安裝 adb 也能夠直接使用。
雖然 QtScrcpy 這個(gè)工具非常的簡(jiǎn)單好用,但是使用上沒(méi)有直接敲命令行來(lái)的帥氣,所以我建議還是用上述的方式一步一步進(jìn)行安裝。