Android Debug Bridge ADB安裝及使用詳解(非常詳細)

一、ADB簡介
1、什么是adb
ADB 全稱為 Android Debug Bridge,起到調(diào)試橋的作用,是一個客戶端-服務(wù)器端程序。其中客戶端是用來操作的電腦,服務(wù)端是 Android 設(shè)備。
ADB 也是 Android SDK 中的一個工具,可以直接操作管理 Android 模擬器或者真實的 Android 設(shè)備。
2、為什么要用adb
運行設(shè)備的 shell(命令行)
管理模擬器或設(shè)備的端口映射
計算機和設(shè)備之間上傳/下載文件
可以對設(shè)備的應(yīng)用進行卸載安裝等
在 App 遇到 ANR/Crash 等 bug 時,可以通過 ADB 來抓取日志
簡而言之,ADB 就是連接 Android 手機與 PC 端的橋梁,所以ADB又稱為安卓調(diào)試橋(注意:是安卓,不是iOS),可以讓用戶在電腦上對手機進行全面的操作!
二、準備工具
單獨安裝adb,不安裝sdk
1、下載adb
Google很好心,直接放出ADB的zip供人下載。路徑如下:
Windows: https://dl.google.com/android/repository/platform-tools-latest-windows.zip
macOS: https://dl.google.com/android/repository/platform-tools-latest-darwin.zip
Linux: https://dl.google.com/android/repository/platform-tools-latest-linux.zip
2、配置環(huán)境變量
解壓安裝后,把解壓路徑放到系統(tǒng)變量里去(Path),
環(huán)境變量如何配置,比如我的配置如下圖:
3、連接
可以通過模擬器連接,也可以通過數(shù)據(jù)線連接。
通過數(shù)據(jù)線連接時,手機進入“開發(fā)者選項”,打開“usb調(diào)試”。
不同品牌安卓機型,首次打開“開發(fā)者選項”方式不一樣,大多是雙擊手機版本號3~5次,會toast提醒“開發(fā)者模式已打開”,具體打開方式可根據(jù)手機品牌進行百度查詢
4、電腦打開cmd窗口
輸入 adb version :顯示 adb 版本,說明安裝成功
三、ADB命令詳解
ADB的基礎(chǔ)使用
連接設(shè)備:使用adb devices命令可以列出當前連接的所有設(shè)備和虛擬機。
安裝應(yīng)用:使用adb install命令可以安裝應(yīng)用程序到設(shè)備。
卸載應(yīng)用:使用adb uninstall命令可以從設(shè)備卸載應(yīng)用程序。
導(dǎo)出應(yīng)用:使用adb backup命令可以將應(yīng)用程序數(shù)據(jù)導(dǎo)出到文件中。
恢復(fù)應(yīng)用:使用adb restore命令可以將應(yīng)用程序數(shù)據(jù)從備份文件中恢復(fù)。
查看日志:使用adb logcat命令可以查看設(shè)備的系統(tǒng)日志。
啟動Activity:使用adb shell am命令可以啟動應(yīng)用程序的Activity。
截屏:使用adb screencap命令可以在設(shè)備上獲取屏幕截圖。
錄屏:使用adb screenrecord命令可以在設(shè)備上錄制屏幕。
傳輸文件:使用adb pull和adb push命令可以在設(shè)備和計算機之間傳輸文件。
ADB的高級技巧
查看設(shè)備信息:使用adb shell命令可以進入設(shè)備的shell環(huán)境,使用getprop命令可以查看設(shè)備的屬性信息。
模擬定位:使用adb shell命令和am start命令可以模擬設(shè)備的GPS定位信息。
模擬網(wǎng)絡(luò):使用adb shell命令和iptables命令可以模擬不同的網(wǎng)絡(luò)狀態(tài),例如丟包、延遲等情況。
修改系統(tǒng)屬性:使用adb shell命令和setprop命令可以修改設(shè)備的系統(tǒng)屬性信息。
模擬按鍵事件:使用adb shell命令和input命令可以模擬按鍵事件,例如按下Home鍵、返回鍵等。
獲取Bug報告:使用adb bugreport命令可以獲取設(shè)備的Bug報告,幫助開發(fā)者分析和解決問題。
1、基本命令
adb version :顯示 adb 版本
adb help:幫助信息,查看adb所支持的所有命令
adb devices:查看當前連接的設(shè)備,已連接的設(shè)備會顯示出來
adb get-serialno:也可以查看設(shè)備號
2、權(quán)限命令
adb root:獲取Android管理員(root用戶)的權(quán)限。
注意:一般測試機可使用root權(quán)限。
Android版本9以上,不支持商用機使用root權(quán)限,但可以修改底層一些配置
adb shell:登錄設(shè)備 shell,該命令將登錄設(shè)備的shell(內(nèi)核),登錄shell后,可以使用 cd,ls,rm 等Linux命令
adb remount:獲取System分區(qū)可寫權(quán)限,需要root后才能有這個權(quán)限
3、建立連接
adb -d:如果同時連了usb,又開了模擬器,連接當前唯一通過usb連接的安卓設(shè)備
adb -e shell:指定當前連接此電腦的唯一的一個模擬器
adb -s <設(shè)備號> shell:當電腦插多臺手機或模擬器時,指定一個設(shè)備號進行連接
exit:退出
adb kill-server:殺死當前adb服務(wù),如果連不上設(shè)備時,殺掉重啟。(沒事不要用它)
adb start-server:殺掉后重啟
5037:adb默認端口,如果該端口被占用,可以指定一個端口號,如下命令↓
adb -p 6666 start-server:任意指定一個 adb shell 的端口
4、apk 操作指令
adb shell pm list packages:列出當前設(shè)備/手機,所有的包名
adb shell pm list packages -f:顯示包和包相關(guān)聯(lián)的文件(安裝路徑)
adb shell pm list packages -d:顯示禁用的包名
adb shell pm list packages -e:顯示當前啟用的包名
adb shell pm list packages -s:顯示系統(tǒng)應(yīng)用包名
adb shell pm list packages -3:顯示已安裝第三方的包名
adb shell pm list packages xxxx:加需要過濾的包名,如:xxx = taobao
adb install <文件路徑\apk>:將本地的apk軟件安裝到設(shè)備(手機)上。如手機外部安裝需要密碼,記得手機輸入密碼。
adb install -r <文件路徑\apk>:覆蓋安裝
adb install -d <文件路徑\apk>:允許降級覆蓋安裝
adb install -g <文件路徑\apk>:授權(quán)/獲取權(quán)限,安裝軟件時把所有權(quán)限都打開
adb uninstall <包名>:卸載該軟件/app。
注意:安裝時安裝的是apk,卸載時是包名,可以通過 adb shell pm list packages 查看需要卸載的包名。
adb shell pm uninstall -k <包名>:雖然把此應(yīng)用卸載,但仍保存此應(yīng)用的數(shù)據(jù)和緩存
adb shell am force-stop <包名>:強制退出該應(yīng)用/app
5、文件操作指令
adb push <本地路徑\文件或文件夾> <手機端路徑>:把本地(pc機)的文件或文件夾復(fù)制到設(shè)備(手機)
注意點1:pc機路徑與Android機路徑,分隔符是不同的。
注意點2:復(fù)制失敗,大概率是無權(quán)限。可先使用上面介紹過的兩個命令:adb root;adb remount。在使用 adb push 命令
**adb pull <手機端路徑/文件或文件夾> <pc機路徑>:把設(shè)備(手機)的文件或文件夾復(fù)制到本地。**注意點同上
6、日志操作指令
adb shell logcat -c:清理現(xiàn)有日志 adb shell logcat -v time :輸出日志,信息輸出在控制臺 adb shell logcat -v time > <存放路徑\log.txt>:輸出日志并保存在本地文件 Ctrl+C:終止日志抓取 adb shell logcat -v time *:E > <存放路徑\log.txt>:打印級別為Error的信息 日志的等級: -v:Verbse(明細) -d:Debug(調(diào)試) -i:Info(信息) -w:Warn(警告) -e:Error(錯誤) -f:Fatal(嚴重錯誤) 抓取日志的步驟先輸入命令啟動日志,然后操作 App,復(fù)現(xiàn) bug,再 ctrl+c 停止日志,分析本地保存的文件。 :日志是記錄手機系統(tǒng)在運行app時有什么異常的事件 EXCEPTION 也可以把更詳細得Anr日志拉取出來:adb shell pull /data/anr/traces.txt <存放路徑>
7、系統(tǒng)操作指令
adb shell getprop ro.product.model:獲取設(shè)備型號
adb shell getprop ro.build.version.release:獲取Android系統(tǒng)版本
adb get-serialno:獲取設(shè)備的序列號(設(shè)備號)
adb shell wm size:獲取設(shè)備屏幕分辨率
adb shell screencap -p /sdcard/mms.png:屏幕截圖
adb shell screencap -p /sdcard/screenshot.png:屏幕截圖
adb pull /sdcard/mms.png <存放的路徑>:將截圖導(dǎo)出到本地
adb pull /sdcard/screenshot.png <存放的路徑>:將截圖導(dǎo)出到本地
adb shell dumpsys activity |find “mResumedActivity”:查看前臺應(yīng)用包名,必須先啟動app,適用于Android 8.0以上
adb shell cat /proc/meminfo:獲取手機內(nèi)存信息
adb shell df:獲取手機存儲信息
adb shell screenrecord <存放路徑/xxx.mp4>:錄屏,命名以.mp4結(jié)尾
adb shell screenrecord --time-limit 10 <存放路徑/xxx.mp4>:錄屏時間為10秒
如何使用 adb 一次性批量安裝多款安卓應(yīng)用
如果你想一次性安裝多個不同的 APK,可以用 for 循環(huán)批量執(zhí)行 adb install 命令。
先決條件
手機連接電腦(打開 USB 調(diào)試)
Windows 系統(tǒng)(命令提示符)
打開命令提示符,進入 apk 文件所在文件夾,執(zhí)行:
for %i in (*.apk) do adb install "%i"
macOS / Linux(終端)
for i in *.apk; do adb install "$i"; done
然后,就等待命令行運行完成,手機里的應(yīng)用就安裝好了。
相關(guān)文章
Android Debug Bridge ADB安裝及使用詳解(非常詳細)
ADB 全稱為 Android Debug Bridge,起到調(diào)試橋的作用,是一個客戶端-服務(wù)器端程序,其中客戶端是用來操作的電腦,服務(wù)端是 Android 設(shè)備,ADB 也是 Android SDK 中的一個工具2025-06-14合同管理利器! DeepSeek寫VBA實現(xiàn)Excel打開就彈窗到期預(yù)警
公司合同管理是一件很復(fù)雜的事情,比如合同到期提醒,我們就可以使用DeepSeek寫VBA代碼實現(xiàn)快捷提醒,詳細請看下文介紹2025-06-10批量修改圖片大小! DeepSeek搭配Word文檔才是絕配
最近我發(fā)現(xiàn)DeepSeek與Word才是絕配,通過VBA代碼可以批量修改圖片大小,下面我們就來看看詳細操作步驟,內(nèi)附代碼2025-06-02效果太離譜! DeepSeek自動生成動態(tài)可視化圖表的技巧
只需10秒,輸入指令詞后,一張張會動的圖表就出來嘍~60+種圖表,組合圖、散點圖和氣泡圖、面積圖、柱狀圖和條形圖、餅圖、折線圖七大類圖表,想要哪種就都可以!2025-05-233Dcoat軟件怎么下載安裝? 3Dcoat安裝圖文教程 Windows版
3DCoat是一款三維數(shù)字軟件,是用于創(chuàng)建和繪制 3D 模型的最先進的 3D 創(chuàng)作套件之一,專門使用動態(tài)面片鑲嵌技術(shù)和多邊形雕刻工具進行體素雕刻和多邊形雕刻,下面我們就來看看2025-05-22幫你4步輕松搞定年終述職! Kimi+AIPPT輕松生成年終總結(jié)PPT
總是在做年終總結(jié)的時候,然而,今年有了新的選擇——Kimi+AIPPT,它能輕松為你生成年終總結(jié)PPT,下面我們就來看看制作思路2025-05-20用Deepseek統(tǒng)計考勤表 只需3分鐘就夠了!
Deepseek太強了!之前3天都統(tǒng)計不完的考勤表,現(xiàn)在3分鐘就夠了!很多朋友不知道怎么操作,,詳細請看下文介紹2025-05-20- 不知道大家平時在工作當中繪制各種圖表的情況多不多,比如流程圖,時序圖,餅圖等等, 如果是自己平時使用還好,畫個大概能看就行,如果是給領(lǐng)導(dǎo)匯報就需要特別用心,怎么2025-05-20
如何自動生成組織架構(gòu)圖? KIMI自動生成組織架構(gòu)圖的技巧
關(guān)于組織者架構(gòu)圖不要再傻傻的一個一個的畫了,我們使用AI工具來生成很快捷,今天我們就來看看使用kimi生成組織架構(gòu)圖的技巧2025-05-12別再傻傻的用DeepSeek了! 核對excel表格數(shù)據(jù)用豆包才是永遠的神
之前DeepSeek大火,都是用DeepSeek處理數(shù)據(jù),后來發(fā)現(xiàn)豆包也可以實現(xiàn),下面我們就來看看用豆包核對數(shù)據(jù)的技巧2025-05-06