戰(zhàn)指南)
簡介在 Android 日常開發(fā)與設(shè)備維護(hù)中官方命令行工具不可或缺。platform-tools-latest-windows.zip 打包了一套完整的 platform-tools涵蓋 adb、fastboot 等核心程序能夠處理設(shè)備連接、應(yīng)用安裝、日志抓取、系統(tǒng)分區(qū)刷寫等常見開發(fā)與調(diào)試任務(wù)特別適合需要維護(hù)多臺(tái)設(shè)備、頻繁切換系統(tǒng)版本的工程師或測試人員。壓縮包共 14 個(gè)文件體積僅 6.81MB其中 8 個(gè) exe 可執(zhí)行文件構(gòu)成工具主體配合 3 個(gè) dll 動(dòng)態(tài)庫保障 Windows 環(huán)境下的穩(wěn)定運(yùn)行txt、conf、properties 文件則分別提供許可說明、運(yùn)行參數(shù)和版本信息方便核對(duì)與調(diào)整。除 adb、fastboot 外包內(nèi)還整合了 hprof-conv、sqlite3、etc1tool、mke2fs 等輔助工具分別用于堆轉(zhuǎn)儲(chǔ)分析、數(shù)據(jù)庫操作、紋理壓縮和文件系統(tǒng)創(chuàng)建覆蓋性能排查與系統(tǒng)維護(hù)場景。已有 668 人學(xué)習(xí)/下載解壓后即可獲得與較新 Android 系統(tǒng)兼容的完整調(diào)試環(huán)境無需再逐一下載或擔(dān)心版本不匹配可顯著提升開發(fā)與測試效率。 如果你經(jīng)常刷機(jī)、調(diào)試安卓設(shè)備那一定見過platform-tools-latest-windows.zip這個(gè)名字。這是 Android SDK Platform-Tools 的官方 Windows 版本里面裝的就是 adb、fastboot、e2fsdroid 這些工具安卓調(diào)試、刷機(jī)、連接模擬器全靠它們。我前陣子剛在幾臺(tái) Windows 機(jī)器上重新配了一遍這套環(huán)境趁著這次裝完的余溫把這套流程和踩過的坑完整寫出來。這篇文章適合所有需要在 Windows 上做安卓調(diào)試、真機(jī) Root、模擬器聯(lián)調(diào)的人參考不管你是剛?cè)腴T的新手還是被環(huán)境問題折磨過的老手都能從這里找到可以直接抄的解決方案。1. platform-tools-latest-windows.zip 到底是什么1.1 一個(gè)壓縮包解決所有設(shè)備通信問題很多人第一次接觸這個(gè)包是在某個(gè)刷機(jī)教程里看到“先下載 platform-tools”這句話。點(diǎn)進(jìn)去一看一個(gè) zip 壓縮包解壓出來就幾個(gè) exe 和 dll看起來毫不起眼。但如果你把安卓設(shè)備手機(jī)、平板、電視盒子、車機(jī)想象成一臺(tái)只開了調(diào)試口的嵌入式設(shè)備那么 platform-tools 就是 PC 和這個(gè)設(shè)備之間唯一的通信橋梁。里面最重要的兩個(gè)工具一個(gè)是adb全稱 Android Debug Bridge負(fù)責(zé)在設(shè)備開機(jī)狀態(tài)下進(jìn)行應(yīng)用安裝、日志抓取、文件拷貝、shell 操作等日常調(diào)試工作另一個(gè)是fastboot負(fù)責(zé)在設(shè)備進(jìn)入 bootloader 模式時(shí)進(jìn)行底層分區(qū)讀寫比如解鎖 bootloader、刷入 boot.img、刷入 recovery、刷入系統(tǒng)鏡像等。除此之外還有e2fsdroid制作 ext4 用戶鏡像、mke2fs創(chuàng)建 ext4 文件系統(tǒng)、sqlite3直接在設(shè)備上操作數(shù)據(jù)庫等輔助工具但日常用到最多的一定是前兩個(gè)。所以無論是用 Android Studio 跑模擬器、用命令行安裝 APK、還是給 Pixel 刷第三方固件最終都會(huì)落到這個(gè) zip 包上。你甚至可以理解為它是安卓世界所有“PC 對(duì)設(shè)備操作”的入口。1.2 為什么優(yōu)先選擇官方最新的 r29 版本我見過不少人有這樣一個(gè)習(xí)慣下載工具時(shí)喜歡到各種“軟件站”找“綠色版”、“精簡版”、“一鍵集成版”但在 platform-tools 這件事上我強(qiáng)烈建議直接認(rèn)準(zhǔn)官方下載鏈接。原因很簡單這包跟任何其他開發(fā)工具一樣舊版本會(huì)在系統(tǒng)底層的通信協(xié)議上逐步失去兼容性。就以platform-tools r29為例。這一版針對(duì) Windows 做了幾項(xiàng)關(guān)鍵改進(jìn)包括對(duì) Windows 11 和更嚴(yán)格的 USB 安全策略的適配、對(duì)可移動(dòng)設(shè)備 USB 識(shí)別機(jī)制的修復(fù)、以及 adb 服務(wù)端在異常斷開時(shí)的重連穩(wěn)定性優(yōu)化。早年我在用 r23、r24 的時(shí)候經(jīng)常遇到設(shè)備插上后adb devices列表空白需要反復(fù)插拔、重啟 adb server升級(jí)到 r29 之后這類問題的概率明顯下降。另外新版本還同步適配了 Android 14、Android 15 的 USB 調(diào)試授權(quán)邏輯。如果拿著舊版本工具去調(diào)試新系統(tǒng)設(shè)備輕則一直提示 id 不匹配重則直接無法彈授權(quán)框。所以說只要不是特殊歷史項(xiàng)目強(qiáng)制要求固定版本一律選最新官方版就對(duì)了。2. 下載與安裝從解壓到環(huán)境變量2.1 下載渠道與完整性校驗(yàn)官方下載地址在 Android 開發(fā)者網(wǎng)站的 Platform Tools 發(fā)布頁通常名稱就是platform-tools-latest-windows.zip。這個(gè)包一般幾十 MB不會(huì)太大。下載之后先別急著解壓建議順手校驗(yàn)一下 SHA-256 哈希值確保包在傳輸過程中沒損壞也從源頭避開某些“內(nèi)置綠色版”的坑。官方頁面每一版都會(huì)列出對(duì)應(yīng)哈希PowerShell 下直接執(zhí)行Get-FileHash .\platform-tools-latest-windows.zip -Algorithm SHA256對(duì)比結(jié)果和官網(wǎng)公布的值一致再解壓。別嫌這一步繁瑣我在幫朋友排查問題時(shí)見過電腦上各種來路不明的“adb.exe”和“fastboot.exe”有些還帶著惡意軟件驅(qū)動(dòng)用哈希校驗(yàn)?zāi)苤苯右?guī)避掉這種風(fēng)險(xiǎn)。然后把 zip 解壓到一個(gè)“不會(huì)亂動(dòng)”的目錄比如C:\platform-tools。注意我建議不要解壓到中文路徑下也別放到桌面。因?yàn)楹罄m(xù)很多命令、批處理腳本、開發(fā)工具會(huì)引用這個(gè)路徑如果路徑帶空格或中文有些第三方工具解析起來會(huì)出問題保不齊在關(guān)鍵時(shí)刻給你來個(gè)“找不到路徑”。2.2 環(huán)境變量配置的完整流程解壓完還不能直接完事如果不配置環(huán)境變量你只能在platform-tools目錄里執(zhí)行 adb換個(gè)目錄就提示“不是內(nèi)部或外部命令”。這里我把配置步驟完整寫一遍每一步都對(duì)應(yīng)你以后可能遇到的報(bào)錯(cuò)。在 Windows 搜索框輸入“環(huán)境變量”選擇“編輯系統(tǒng)環(huán)境變量”打開“系統(tǒng)屬性”對(duì)話框。點(diǎn)擊右下角“環(huán)境變量”在“系統(tǒng)變量”區(qū)域找到Path雙擊編輯。點(diǎn)擊“新建”填入你解壓的目錄比如C:\platform-tools然后一路點(diǎn)確定。重新打開一個(gè) CMD 或 PowerShell 窗口這一步很關(guān)鍵舊窗口不會(huì)刷新環(huán)境變量輸入adb version看到類似Android Debug Bridge version 1.0.41和Version 29.0.0的輸出就成功了。這里解釋一下為什么“系統(tǒng)變量”和“用戶變量”要選擇前者。如果你只配置用戶變量那只有當(dāng)前用戶能用如果這臺(tái)機(jī)器有多賬戶或者你需要在管理員權(quán)限的 CMD、計(jì)劃任務(wù)里使用 adb可能會(huì)踩到“明明配置了 PATH 卻找不到命令”的奇怪問題。所以我個(gè)人習(xí)慣直接配到系統(tǒng)變量一勞永逸。2.3 在 WSL、Docker 等 Windows 特殊環(huán)境下的使用配置好環(huán)境變量后很多人以為就到此為止了但實(shí)際開發(fā)場景往往沒這么簡單?,F(xiàn)在不少人的工作流是 Windows 宿主機(jī) WSL 跑 Linux 工具鏈或者用 Docker Desktop for Windows 起安卓構(gòu)建環(huán)境。這時(shí)候platform-tools-latest-windows.zip照樣有用但要注意路徑互通的問題。WSL 里訪問 Windows 端 adb 的最簡單方式就是把platform-tools所在目錄加進(jìn) WSL 的 PATH。舉個(gè)例子Windows 端的 platform-tools 在C:\platform-tools那么在 WSL 2 的~/.bashrc或~/.zshrc里加一行export PATH$PATH:/mnt/c/platform-tools注意 WSL 2 里運(yùn)行的是從/mnt/c掛載過來的 Windows 版本 adb.exe所以你要在 WSL 里輸入的是adb.exe而不是adb否則它會(huì)去找 Linux 版的 adb找不到就會(huì)報(bào) command not found。也可以簡單做個(gè)別名alias adbadb.exe alias fastbootfastboot.exe至于 Docker Desktop for Windows如果你需要在某個(gè)容器里訪問宿主機(jī)上的 adb要么把 platform-tools 目錄掛載成 volume 進(jìn)容器要么在容器里單獨(dú)裝 Android SDK tools然后用容器的 ip 端口連到宿主機(jī)上的 adb server。后者的核心思路是用adb -H 宿主IP -P 5037來指定 host 和端口前提是宿主機(jī)上的 adb server 已啟動(dòng)且監(jiān)聽在非 localhost 上。這一塊容易讓人困惑大多數(shù)人的誤區(qū)是把“容器里的 adb”和“宿主機(jī)的 adb”二分對(duì)立了其實(shí)它們完全可以通過網(wǎng)絡(luò)端口協(xié)同工作。3. 核心命令實(shí)操adb 與 fastboot 的應(yīng)用場景3.1 設(shè)備連接與授權(quán)USB 調(diào)試裝好工具之后第一步當(dāng)然是讓電腦能認(rèn)出設(shè)備。在安卓手機(jī)上進(jìn)入“設(shè)置 → 關(guān)于手機(jī)”連續(xù)點(diǎn)擊“版本號(hào)”7 次開啟開發(fā)者選項(xiàng)然后在“開發(fā)者選項(xiàng)”里打開“USB 調(diào)試”。用數(shù)據(jù)線連接電腦后手機(jī)端會(huì)彈出一個(gè)“允許 USB 調(diào)試嗎”的授權(quán)框勾選“始終允許”點(diǎn)確定。此時(shí)在 Windows 命令行輸入adb devices如果輸出里有一行xxxxxx device說明已經(jīng)連接成功。如果顯示unauthorized說明授權(quán)沒通過需要在手機(jī)上重新確認(rèn)如果顯示offline常見原因是 adb 服務(wù)端卡住了執(zhí)行adb kill-server后再adb start-server重試。我自己遇到過的另一個(gè)高頻坑是用了前面板的 USB 口尤其臺(tái)式機(jī)的前置面板經(jīng)常因?yàn)楣╇姴蛔慊蚪佑|不良導(dǎo)致設(shè)備反復(fù)斷開。最穩(wěn)妥的方案永遠(yuǎn)是優(yōu)先用主板后置 USB 口而且要選 USB 2.0 的口。別不信USB 3.0 口在某些主板上存在和 adb 協(xié)議不兼容的情況穩(wěn)定度反而不如 2.0。3.2 常用調(diào)試命令安裝、日志、文件傳輸日常調(diào)試中adb install應(yīng)該是出鏡率最高的命令。標(biāo)準(zhǔn)用法是adb install app-debug.apk如果想覆蓋安裝并保留數(shù)據(jù)加-r參數(shù)如果想允許降級(jí)安裝加-d參數(shù)測試機(jī)上如果希望安裝完直接啟動(dòng)應(yīng)用可以再補(bǔ)一個(gè)-g授權(quán)所有運(yùn)行時(shí)權(quán)限。組合起來就是adb install -r -d -g app-debug.apk文件傳輸方面adb push和adb pull對(duì)應(yīng)電腦與設(shè)備間的雙向拷貝。很多人不知道的是adb push也支持直接把文件拖進(jìn) CMD 窗口讓系統(tǒng)自動(dòng)填充完整路徑省去手敲路徑的麻煩。不過 Windows 下拖放有時(shí)會(huì)因?yàn)槁窂嚼锏目崭癖徊鸪啥鄠€(gè)參數(shù)所以安全做法是拖進(jìn)來后用雙引號(hào)包住整個(gè)路徑。日志抓取這塊最基礎(chǔ)的命令是adb logcat它會(huì)源源不斷刷日志適合連接狀態(tài)下的實(shí)時(shí)觀察。如果只想抓取某個(gè)進(jìn)程的崩潰堆??梢韵扔胊db shell ps -A | findstr 包名拿到 PID再執(zhí)行adb logcat --pid1234過濾。在 Windows 的 CMD 里grep不可用需要用findstr這個(gè)小差異經(jīng)常讓剛從 Linux 轉(zhuǎn)過來的人一臉問號(hào)。3.3 fastboot 與底層分區(qū)操作如果只是做應(yīng)用調(diào)試adb就夠用了。但一旦涉及刷機(jī)、解鎖 bootloader、替換 recovery、刷入 Magisk 修改 boot 鏡像就必須用到fastboot。操作流程大概是先讓設(shè)備進(jìn)入 bootloader 模式通常是在關(guān)機(jī)狀態(tài)下按住音量下電源鍵或者通過adb reboot bootloader。然后在電腦上輸入fastboot devices看到設(shè)備 id 后就可以執(zhí)行fastboot flash boot boot.img、fastboot flash recovery recovery.img這類命令。這里有一個(gè)很多人忽略的關(guān)鍵點(diǎn)fastboot和adb在同一臺(tái)機(jī)器上使用的是完全不同的驅(qū)動(dòng)層。Windows 上經(jīng)常出現(xiàn)adb devices能看到設(shè)備但fastboot devices沒有任何輸出的情況這通常是 fastboot 驅(qū)動(dòng)沒裝好設(shè)備管理器里會(huì)顯示一個(gè)帶黃色感嘆號(hào)的未知設(shè)備需要手動(dòng)指定驅(qū)動(dòng)路徑到platform-tools\drivers目錄里更新驅(qū)動(dòng)。刷機(jī)操作的風(fēng)險(xiǎn)等級(jí)比 adb 高得多操作前一定要確認(rèn)鏡像文件對(duì)應(yīng)你的機(jī)型且從官方或可靠渠道獲得。底層分區(qū)一刷如果文件不匹配輕則系統(tǒng)不斷重啟重則成磚。我現(xiàn)在的習(xí)慣是拿到一臺(tái)新測試機(jī)第一件事就是備份原始 boot、recovery 分區(qū)到本地再做任何實(shí)驗(yàn)性操作至少保留一條還原退路。4. 常見問題與排查技巧實(shí)錄4.1 adb 不是內(nèi)部或外部命令這一個(gè)問題我?guī)缀趺康揭粋€(gè)新環(huán)境都能遇到。最直接的原因是 PATH 沒有配置或者配置完沒有打開新終端窗口。檢查方法很容易輸入where adb如果輸出提示找不到說明 PATH 里沒有platform-tools目錄回到第二節(jié)重新配置即可。還有一個(gè)特殊場景安裝了 Android Studio 的機(jī)器上可能會(huì)有多個(gè) adb 存在于不同 SDK 目錄下比如用戶目錄下的AppData\Local\Android\Sdk\platform-tools以及你手動(dòng)解壓的C:\platform-tools。系統(tǒng)會(huì)優(yōu)先執(zhí)行 PATH 中靠前的那個(gè)。如果你在 Android Studio 里能用 adb但 CMD 里不能用多半是 Studio 內(nèi)置了 SDK 路徑而系統(tǒng) PATH 沒配如果你 CMD 里能用的 adb 版本和 Studio 里用的不是同一個(gè)版本不一致也會(huì)導(dǎo)致模擬器連接報(bào)錯(cuò)這時(shí)候建議統(tǒng)一指向同一個(gè)目錄。4.2 設(shè)備未授權(quán)與驅(qū)動(dòng)識(shí)別失敗adb devices顯示unauthorized是很多人第一次插真機(jī)時(shí)最崩潰的瞬間。原因是設(shè)備的 RSA 指紋授權(quán)沒生效。最簡單的處理辦法拔掉 USB 線在手機(jī)開發(fā)者選項(xiàng)里打開“撤銷 USB 調(diào)試授權(quán)”重新插線再次授權(quán)通常就能解決。如果連adb devices列表都看不到設(shè)備那么問題就出在驅(qū)動(dòng)層。Windows 10/11 一般會(huì)自動(dòng)安裝手機(jī)廠商的 MTP 驅(qū)動(dòng)但純 adb 接口驅(qū)動(dòng)經(jīng)常被系統(tǒng)忽略所以要去設(shè)備管理器手動(dòng)檢查。具體路徑是右鍵開始菜單 → 設(shè)備管理器 → 找到“便攜設(shè)備”或“通用串行總線設(shè)備”里的對(duì)應(yīng)設(shè)備如果看到感嘆號(hào)右鍵更新驅(qū)動(dòng)選擇“瀏覽我的電腦以查找驅(qū)動(dòng)程序”指向platform-tools\drivers文件夾勾選“包括子文件夾”點(diǎn)安裝即可。這里有個(gè)小技巧裝驅(qū)動(dòng)時(shí)優(yōu)先選“Android Composite ADB Interface”或“Android ADB Interface”不要選成 MTP 設(shè)備驅(qū)動(dòng)不然 exe 還是識(shí)別不了。4.3 Windows 環(huán)境下的各種坑點(diǎn)速查表除了上面兩個(gè)重災(zāi)區(qū)Windows 平臺(tái)還有一些零碎問題我把實(shí)戰(zhàn)中遇到過的整理成一個(gè)速查表方便你以后用 CtrlF 直接定位現(xiàn)象原因解決方案安裝 APK 時(shí)提示 INSTALL_FAILED_UPDATE_INCOMPATIBLE已安裝的舊版本簽名不同先卸載舊應(yīng)用或加-r覆蓋安裝拖放 APK 到 CMD 窗口后帶引號(hào)導(dǎo)致命令解析錯(cuò)誤Windows 拖放路徑自動(dòng)加引號(hào)先拖進(jìn)窗口再手動(dòng)調(diào)整引號(hào)位置adb shell下無法執(zhí)行g(shù)repAndroid shell 用的是 toybox不是 GNU grep用grep本身沒問題但管道多個(gè)命令時(shí)優(yōu)先用toybox grep指定抓 logcat 時(shí)中文亂碼CMD 默認(rèn)代碼頁不匹配執(zhí)行chcp 65001切換 UTF-8或者直接在 PowerShell 里操作WSL 里輸入adb找不到WSL 的 PATH 沒包含/mnt/c/platform-tools在~/.bashrc添加導(dǎo)出語句Docker 容器內(nèi)無法連接真機(jī)宿主機(jī) adb server 監(jiān)聽端口未對(duì)外開放宿主機(jī)執(zhí)行adb -a -P 5037 nodaemon server容器內(nèi)用-H連接fastboot devices無輸出fastboot 驅(qū)動(dòng)未正確安裝手動(dòng)更新驅(qū)動(dòng)指向platform-tools\driversadb 服務(wù)卡死adb devices無響應(yīng)上一次進(jìn)程異常退出任務(wù)管理器結(jié)束所有 adb.exe再adb start-serverWindows 安全軟件攔截 adb.exe某些殺毒軟件誤報(bào)添加白名單或從官方渠道重新下載校驗(yàn)shell 命令一閃而過沒有在前臺(tái)運(yùn)行 CMD用cmd /k adb devices保留窗口查看輸出設(shè)備授權(quán)信息過期反復(fù)彈授權(quán)框RSA 指紋和舊授權(quán)沖突撤銷 USB 調(diào)試授權(quán)后重連這里額外說一個(gè)安全軟件攔截的問題現(xiàn)在很多 Windows 安全軟件對(duì) adb.exe 這類既能管理設(shè)備又能執(zhí)行 shell 命令的工具很敏感偶爾會(huì)直接給你攔掉或者在彈窗詢問時(shí)用戶手滑點(diǎn)了“阻止”。這種情況下adb 會(huì)表現(xiàn)為“能運(yùn)行但連接不到設(shè)備”極其迷惑。我當(dāng)時(shí)排查了半小時(shí)才發(fā)現(xiàn)是安全策略的問題給 adb 和 fastboot 都加了信任白名單后才恢復(fù)正常。4.4 腳本閃退與靜默運(yùn)行的坑很多人在 Windows 上喜歡寫批處理包一層 adb 命令比如批量安裝 APK、批量截圖、批量抓日志。如果你直接用build.bat雙擊執(zhí)行可能出現(xiàn)“窗口一閃而過”的問題這多半是腳本本身有語法錯(cuò)誤或者命令執(zhí)行完沒有pause保留窗口。相比之下我更推薦用 PowerShell 寫這類腳本因?yàn)?PowerShell 對(duì)輸出對(duì)象、變量、錯(cuò)誤流的處理比 CMD 強(qiáng)太多了而且配合cmd /c可以很容易做到靜默運(yùn)行這在熱詞里提到的“Windows 實(shí)現(xiàn) cmd 靜默運(yùn)行”場景里非常實(shí)用。舉個(gè)例子如果你想循環(huán)連接 5 臺(tái)設(shè)備并逐個(gè)安裝應(yīng)用$devices adb devices | Select-String device$ | ForEach-Object { ($_ -split t)[0] } foreach ($d in $devices) { adb -s $d install app-debug.apk }用-s參數(shù)指定序列號(hào)是同時(shí)連接多臺(tái)設(shè)備時(shí)最核心的操作方式。如果不加-sadb 會(huì)因?yàn)樵诙嘣O(shè)備環(huán)境下無法確定目標(biāo)而直接報(bào)錯(cuò)退出只有一臺(tái)設(shè)備時(shí)才不需要指定。5. 一些可以提高效率的擴(kuò)展用法前面講的都是最基礎(chǔ)、覆蓋 80% 場景的操作。如果你已經(jīng)能熟練使用上面的命令還想進(jìn)一步提升效率我給你幾個(gè)我自己平時(shí)在用的擴(kuò)展技巧。第一個(gè)是給 adb 設(shè)置常用別名。在 PowerShell 的$PROFILE里加幾個(gè)函數(shù)比如function adbi { adb install -r -d -g $args[0] }以后安裝 APK 只需要敲adbi xxx.apk少打一堆參數(shù)。第二個(gè)是使用adb reverse和adb forward做端口映射這在開發(fā)調(diào)試本地 WebView、連接設(shè)備上的本地服務(wù)時(shí)特別有用。比如手機(jī)上想訪問電腦的 8080 端口服務(wù)adb reverse tcp:8080 tcp:8080一條命令手機(jī)直接訪問localhost:8080就能打到電腦上省去了讓手機(jī)和電腦連同一 WiFi 的麻煩。第三個(gè)是我自己常干的一件事寫一個(gè)一鍵收集日志的批處理。先adb logcat -c清一次日志然后自動(dòng)抓取 crash、anr、system error 三類的 tag打包成 zip 丟到桌面。遇到測試反饋的偶現(xiàn)崩潰這一套下來能省很多溝通成本。5.1 多版本 platform-tools 的并存管理最后一個(gè)建議也是我這次重裝完 Windows 環(huán)境后順手做的事做一個(gè)多版本并存管理。因?yàn)橛行├显O(shè)備或特定廠商的刷機(jī)工具綁定了特定版本的 adb用最新版反而連不上。我在機(jī)器上保留了三個(gè)目錄C:\platform-tools-latest日常用、C:\platform-tools-r29兼容舊項(xiàng)目、C:\platform-tools-legacy壓箱底的老版本系統(tǒng) PATH 只指向latest其他版本通過腳本里的臨時(shí) PATH 切換調(diào)用。這樣平時(shí)開發(fā)不受影響遇到特殊項(xiàng)目需要特定版本時(shí)也不用滿世界重新找安裝包。切換方式很簡單在調(diào)用前臨時(shí)修改環(huán)境變量即可比如在批處理里set PATHC:\platform-tools-r29;%PATH% adb version這種“系統(tǒng)默認(rèn)最新 項(xiàng)目臨時(shí)指定版本”的組合是我經(jīng)歷過多次“老設(shè)備連不上新工具”的教訓(xùn)后總結(jié)出來的最佳實(shí)踐。畢竟工具的最終價(jià)值是幫你解決問題而不是讓你成為工具的奴隸。寫在最后算下來我斷斷續(xù)續(xù)用了 platform-tools 六七年中間換過很多機(jī)器出過各種稀奇古怪的問題但最后都繞回同一個(gè)結(jié)論官方工具、官方渠道、保持更新、理解原理這四個(gè)準(zhǔn)則永遠(yuǎn)不會(huì)過時(shí)。這篇分享里寫的每一步、每一個(gè)坑都是我自己動(dòng)手踩出來的不敢說覆蓋了所有 Windows 場景但對(duì)大多數(shù)做安卓開發(fā)、刷機(jī)、設(shè)備調(diào)試的朋友來說應(yīng)該能省下不少折騰時(shí)間。如果你在配置過程中還有其他奇怪的現(xiàn)象歡迎帶著具體現(xiàn)象來交流。本文還有配套的精品資源點(diǎn)擊獲取