Android除錯工具-ADB史上最強介紹
一、ADB簡介
簡稱:ADB
英文全稱:Android Debug Brige
中文全稱:Android除錯橋
作用:與Android裝置進行通訊的工具
二、安裝ADB
adb 包含在 Android SDK平臺工具軟體包中。您可以使用 SDK 管理器下載此軟體包,該管理器會將其安裝在 android_sdk/platform-tools/ 下。或者,如果您需要獨立的 Android SDK 平臺工具軟體包,可以點選此處進行下載。
三、環境變數
Windows:
Mac:
Linux:
四、連線真機
1、啟用開發者選項
連續點按版本號7 次(設定 > 關於手機 > 版本號)
2、啟用USB除錯
開發者選項 > USB 除錯
3、啟用檔案傳輸
將USB充電模式改為檔案傳輸
4、手機RSA金鑰授權
裝置中彈出對話方塊,必須手工確定才能執行USB除錯和其他 adb 命令
五、常用命令
檢視ADB版本
adb version
幫助資訊(重要)
adb --help
或
adb help
或
adb
ADB的幫助資訊描述的非常全面,學會檢視命令列工具的幫助資訊,事半功倍
開啟ADB服務端
adb start-server
關閉ADB服務端
adb kill-server
檢查裝置連線情況
簡略資訊:adb devices
詳細資訊:adb devices -l
安裝App
普通安裝:adb install xxx.apk
重新安裝,保持資料不清除(覆蓋安裝) :adb install -r xxx.apk
允許debug包安裝:adb install -t xxx.apk
授權AndroidManifest.xml檔案的執行時許可權安裝:adb install -g xxx.apk
將多個apk推送到裝置,作為一個包安裝:adb install-multiple xxx1.apk xxx2.apk
解除安裝App
普通解除安裝:adb uninstall com.xxx.package_name
保持資料解除安裝:adb uninstall -k com.xxx.package_name
Push檔案
從本機推送到Android裝置上:adb push local remote
local表示本機檔案的路徑
remote表示Android裝置的路徑
Pull檔案
從Android裝置上拉取到本機:adb pull remote local
remote表示Android裝置的檔案或目錄的路徑
local表示本機檔案或目錄的路徑
檢視日誌
adb logcat
六、高階技巧…
指定多個裝置中的1個或n個
1、adb devices 命令或adb devices -l獲取目標裝置的序列號
2、adb -s 序列號 命令 …… 舉個例子:adb -s dasdfew123 install xxx.apk
或者
1、ANDROID_SERIAL環境變數,指定單個裝置
2、ANDROID_SERIAL環境變數,指定n個裝置,以逗號“,”作為分隔符
不加-s,adb會去讀取ANDROID_SERIAL環境變數的值
WLAN連線
前提:手機與PC處於同一區域網(同一個WLAN下)
原理:adb服務端與Android裝置上的adbd程式建立TCP連線
建立連線
1、 將手機與PC通過USB連線
adb tcpip 5555
執行後,adbd程式將監聽5555埠
2、拔掉手機
adb connect <手機IP>
執行後,adb服務端與Android裝置上的adbd程式(監聽5555埠)建立連線
如何斷開WLAN連線?
adb disconnect
如何將WLAN連線切換為USB連線?
adb usb
藍芽連線
……暫時不寫
埠轉發
……暫時不寫
七、高階Unix命令列工具(Android基於Linux核心)
檢視Android裝置可用命令(重要)
adb shell ls /system/bin
進入裝置shell
adb shell
執行任意的可用命令(adb shell ls /system/bin中列出來的命令都可使用)
top
ps
dumpsys
am
input
等等等等……各種命令
八、經常使用的Unix命令列工具
檢視程式狀態:ps
檢視cpu狀態:top
系統服務:dumpsys
九、ADB原理
客戶端/服務端架構(C/S架構)的3個程式組成
1、ADB客戶端程式
執行在PC上,用於傳送命令,為CLI客戶端,在命令列中啟動程式,命令執行結束,程式隨著結束
2、ADB服務端程式
執行在PC上, 由ADB客戶端啟動,負責與裝置上的adbd程式通訊、負責與ADB客戶端通訊,幫助PC上的ADB客戶端與裝置上的adbd程式通訊
3、adbd程式
執行在Android裝置上,負責與ADB服務端程式通訊
程式通訊方式
1、PC上的adb客戶端與PC上的adb服務端
採用TCP建立連線,即Network Socket
2、PC上的adb服務端與Android裝置上的adbd程式
採用USB cable建立連線(預設)
or
採用TCP建立連線
程式生命週期
1、adb客戶端程式的生命週期
在命令列中輸入adb命令,會建立adb客戶端程式,待命令執行結束,adb客戶端程式自然銷燬
2、adb服務端程式的生命週期
由任意客戶端喚起(如adb命令列,Android Studio等等),常駐在PC的記憶體中,作為守護程式
3、adbd程式的生命週期
由init程式通過讀取init.rc檔案(該檔案存有adbd程式的配置資訊),然後fork出來的adbd程式,所以adbd程式是在Android系統啟動後即建立了,它一直執行在記憶體中,作為Android裝置的守護程式
十、小祕密
發現一個祕密,將Android Studio關閉後,Adb Server程式一定會被殺死,不信你試一試……
參考文獻:
https://developer.android.google.cn/studio/debug/dev-options 配置裝置上的開發者選項
https://developer.android.google.cn/studio/run/device 在硬體裝置上執行應用
相關文章
- Android adb 網路除錯Android除錯
- CJ/T188 除錯工具介紹除錯
- 超強API介面除錯工具:Apifox for Mac中文mian費功能介紹API除錯Mac
- CentOS8 安裝adb除錯工具CentOS除錯
- Android adb除錯出現:opendir failed, Permission deniedAndroid除錯AI
- Android 無線 ADB 懶人打法:WiFiADB 除錯AndroidWiFi除錯
- 介紹 GDB 除錯 Go除錯Go
- android studio中使用adb wifi外掛無線除錯程式AndroidWiFi除錯
- Android除錯工具Genymotion的使用Android除錯
- Android 用adb 列印linux核心除錯資訊dmesg和kmsg命令AndroidLinux除錯
- 史上最強 iPhone 越獄工具開源:功能永久有效!iPhone
- Ubuntu 下使用 ADB 除錯 Android 應用時的裝置識別問題Ubuntu除錯Android
- 史上最強Tableau Server 安裝教程Server
- Android測試工具 UIAutomator入門與介紹AndroidUI
- 最強AI語音克隆和文字配音工具!與真人無異,CosyVoice下載介紹AI
- 史上最全最熱門的Android 開發和安全系列必備工具Android
- 最強AI直播換臉軟體,DeepFaceLive下載介紹AI
- 『與善仁』Appium基礎 — 3、ADB命令介紹APP
- android 無線除錯Android除錯
- Android之Zygote介紹AndroidGo
- yum工具對軟體包安裝,刪除,更新介紹
- etcdctl工具介紹
- 測試前奏 之 ADB無限連線除錯模式除錯模式
- 安卓自動化Tasker和Macrodroid(含ADB除錯)安卓Mac除錯
- windbg除錯系列教程:sos擴充套件的介紹和使用除錯套件
- 史上最全最強SpringMVC詳細示例實戰教程SpringMVC
- Linux下面誤刪除檔案使用extundelete工具恢復介紹Linuxdelete
- Android除錯命令收錄Android除錯
- Spring AOP 增強介紹Spring
- uml建模工具介紹
- 簡單介紹vscode除錯container中的程式的方法步驟VSCode除錯AI
- 史上最強攻略!手把手教你建「資料中臺」!
- 史上最強程式碼自測方法,沒有之一!
- 安卓手機怎樣開啟USB除錯模式(圖文介紹)安卓除錯模式
- Android 中 WebView 的除錯方法AndroidWebView除錯
- Linux下的除錯工具Linux除錯
- Windows 除錯工具課程Windows除錯
- react19.0.0 除錯工具React除錯