Android除錯工具 ADB史上最強介紹

2021-10-25 07:45:28 字數 3022 閱讀 7361

簡稱:adb

英文全稱:android debug brige

中文全稱:android除錯橋

作用:與android裝置進行通訊的工具

1、啟用開發者選項

連續點按版本號7 次(設定 > 關於手機 > 版本號)

2、啟用usb除錯

開發者選項 > usb 除錯

3、啟用檔案傳輸

將usb充電模式改為檔案傳輸

4、手機rsa金鑰授權

裝置中彈出對話方塊,必須手工確定才能執行usb除錯和其他 adb 命令

adb version

adb --help

或adb help

或adb

adb的幫助資訊描述的非常全面,學會檢視命令列工具的幫助資訊,事半功倍

adb start-server

adb kill-server

簡略資訊:adb devices

詳細資訊:adb devices -l

普通安裝:adb install ***.apk

重新安裝,保持資料不清除(覆蓋安裝) :adb install -r ***.apk

允許debug包安裝:adb install -t ***.apk

授權androidmanifest.xml檔案的執行時許可權並安裝:adb install -g ***.apk

將多個apk推送到裝置,作為乙個包安裝:adb install-multiple ***1.apk ***2.apk

普通解除安裝:adb uninstall com.***.package_name

保持資料解除安裝:adb uninstall -k com.***.package_name

從本機推送到android裝置上:adb push local remote

local表示本機檔案的路徑

remote表示android裝置的路徑

從android裝置上拉取到本機:adb pull remote local

remote表示android裝置的檔案或目錄的路徑

local表示本機檔案或目錄的路徑

adb logcat

adb devices 命令或adb devices -l獲取所有裝置的序列號

1、adb -s 序列號 命令 …… 舉個例子:adb -s dasdfew123 install ***.apk

或者1、android_serial環境變數,可以指定單個裝置的序列號

2、android_serial環境變數,可指定n個裝置的序列號,以逗號「,」作為分隔符

不使用 -s 指定序列號時,adb會讀取android_serial環境變數的值

同時使用 -s 和android_serial環境變數,則-s會覆蓋掉android_serial環境變數的值

前提:手機與pc處於同一區域網(同乙個wlan下)

原理:pc上的adb服務端與android裝置上的adbd程序建立tcp連線

如何建立連線?

1、 先將手機與pc通過usb連線

adb tcpip 5555

執行後,android裝置上的adbd程序將開始監聽5555埠(處於listener狀態)

2、從usb連線上拔掉手機

adb connect 《手機ip>

執行後,pc上的adb服務端與android裝置上的adbd程序(監聽5555埠)建立tcp連線

如何斷開wlan連線?

adb disconnect

如何將android裝置的wlan連線切換為usb連線?

adb usb

……暫時

……暫時

adb shell ls /system/bin

adb shell

topps

dumpsys

aminput

等等等等……各種命令……未完待續

檢視程序狀態:ps

檢視cpu狀態:top

系統服務:dumpsys

1、adb客戶端程序

執行在pc上,用於傳送命令,為cli客戶端,在命令列中啟動,命令執行結束,程序隨著結束

2、adb服務端程序

執行在pc上, 由adb客戶端啟動,負責與android裝置上的adbd程序通訊、負責與pc上的adb客戶端程序通訊;pc上的adb客戶端與android裝置上的adbd程序通訊,全靠pc上的adb服務端程序進行**……

3、adbd程序

執行在android裝置上,負責與pc上的adb服務端程序通訊

1、adb客戶端與adb服務端

adb客戶端、adb服務端均執行在pc上,採用tcp建立連線,即network socket

2、pc上的adb服務端與android裝置上的adbd程序

採用usb cable建立連線(預設)

or採用tcp建立連線(無線adb)

1、adb客戶端程序的生命週期

在命令列中輸入任意的adb命令,會建立adb客戶端程序,待客戶端的命令執行結束,adb客戶端程序會自然銷毀

2、adb服務端程序的生命週期

由任意客戶端喚起(如adb命令列,android studio等等),常駐在pc的記憶體中,作為守護程序

3、adbd程序的生命週期

由init程序通過讀取init.rc檔案(該檔案存有adbd程序的配置資訊),然後fork出來adbd程序,adbd程序是在android系統啟動後即建立,它一直執行在android的記憶體中,作為android裝置的守護程序

1、當啟動任意乙個adb客戶端(android studio、命令列工具等等),adb客戶端會檢查adb伺服器程序是否正在執行

2、如果adb服務端沒有執行,adb客戶端將執行啟動乙個adb服務端程序的**

3、adb服務端啟動後就會在pc的本地5037埠(tcp埠)繫結,監聽所有adb客戶端發出的命令,所有adb客戶端均通過tcp埠5037與adb服務端進行通訊

發現乙個秘密,mac上將android studio關閉後,adb 服務端程序(adb server)一定會被殺死,不信你試一試……

配置裝置上的開發者選項

在硬體裝置上執行應用

Android除錯工具之ADB

android除錯工具之adb 1.什麼是adb adb的全稱為android debug bridge,顧名思義,這個是pc機與android裝置的連線橋。簡單的說,就是通過adb pc可以控制與之相連的android裝置。通過adb我們可以在eclipse中方面通過ddms來除錯android程...

除錯工具 adb

執行在pc端的adb client 執行在pc端的adb server 執行在裝置端的常駐程序adb demon adbd c adb devices xx deviceadb shell 只有1個裝置 adb s xx shell 進入裝置名為 xx的裝置手動修改裝置名 裝置斷電後失效 adb s...

android除錯工具adb命令大全

一 adb介紹 sdk的tools資料夾下包含著android模擬器操作的重要命令adb,adb的全稱為 android debug bridge就是除錯橋的作用。通過adb我們可以在eclipse中方面通過ddms來除錯android程式。借助這個工具,我們可以管理裝置或手機模擬器的狀態。還可以進...