1、ADB是什麼? ADB,即Android Debug Bridge,它是Android提供的一個通用的調試工具。藉助這個工具可以很好的調試開發程式。它是客戶端/服務端架構的命令工具,主要分三個部分: (1)adb客戶端:運行在我們的開發機器上 (2)adb 伺服器:在開發機器後臺運行的進程 (3 ...
1、ADB是什麼?
ADB,即Android Debug Bridge,它是Android提供的一個通用的調試工具。藉助這個工具可以很好的調試開發程式。它是客戶端/服務端架構的命令工具,主要分三個部分:
(1)adb客戶端:運行在我們的開發機器上
(2)adb 伺服器:在開發機器後臺運行的進程
(3)adb daemon(守護進程):一個以後臺進程形式運行於模擬器或物理手機設備上的守護進程
2、安裝
adb.exe在安裝的android的sdk開發包platform-tools目錄下 (我的網盤/工作軟體和jia包/測試工具/穩定性測試)
安裝好後,將其添加到path環境變數中,然後在命令控制台輸入“adb help”,如果出現adb的版本和幫助信息,則表示可以成功執行了。
3、為了使用adb控制,調試的android設備,用戶需要使用USB數據線將PC和android手機設備連接到一起,然後手機設備的USB的調式模式需要開啟。
4、ADB常用命令
* daemon not running; starting now at tcp:5037
* daemon started successfully
adb啟動時會自動開啟一個服務端進程,當服務端開啟後,他會綁定本地的tcp埠5037,並且通過5037埠監聽所有客戶端發過來的命令。顯示如上
1)adb devices 通過該指令瞭解目前連接設備/模擬器的狀態的相關信息 狀態信息包含以下3中不同的狀態: a、device狀態:這個狀態表示設備或模擬器已經連接到adb伺服器上 b、offline狀態:設備或模擬器沒有連接到adb伺服器上 c、no device狀態:表示沒有物理設備或模擬器鏈接 2)adb install 通過該指令是把測試的手機應用軟體安裝到連接的手機設備中 也可以使用adb -s武力手機設備序列號/手機模擬設備序列號 install 安裝包路徑 如:adb -s8ebcdcb9 install C:\Users\yunl.... 說明: a、重新安裝需要將原先已安裝的卸載 b、如果不想卸載而是覆蓋,就需要在安裝路徑前加 -r 參數 c、如果同時連接了模擬器和手機設備,直接使用adb install就會報錯 3)adb uninstall 卸載已安裝的應用, adb -s物理手機設備序列號/手機模擬器設備序列號 shell pm uninstall -k 已安裝的應用包名 4)adb pull 將手機上的文件傳送到我們的電腦上,如adb pull /sdcard/error_fs.dat d:/ adb push 電腦上文件發送到手機設備上 5)獲取手機系統版本信息:adb shell getprop ro.build.version.release 6)獲取手機Android系統各個分區的相關信息:adb shell df 7)獲取設備序列號:adb get-serialno 8)獲取模擬器/設備當前狀態:adb get-state 9)查看和跟蹤系統日誌:adb logcat 如果有多台,那麼需要指定某一個設備執行adb –s 設備ID logcat 保存日誌:adb –s 設備ID logcat 跟路徑,如:>Desktop\log.txt 10)啟動adb服務 adb start-server 11)關閉adb服務 adb kill-server 12)將本機的埠重定向到手機設備或模擬器埠上 adb forward tcp: 2211 tcp:5566 13)查找安裝的包名:adb shell pm list package 過濾查詢 adb shell pm list package | grep "android" 5、adb devices我常遇到的問題 adb devices 通過該指令瞭解目前連接設備/模擬器的狀態的相關信息 但經常碰到的問題就是輸入該命令,提示List of devices attached 解決如下: 首先必須關閉所有關於360的相關進程,先執行 adb start-server 啟動adb服務 adb kill-server,如果還不行可能是需要將設備id加入到adb_usb.ini中 在電腦 設備管理器中---便攜設備:必須使用USB連接 註意取的是設備管理器中的硬體ID(便攜設備) 6、shell環境 Android本身就是一個linux環境,他有一個顯著的特性就是命令行界面或者shell;shell環境使得用戶能與操作系統的核心功能進行交互。 下圖是shell扮演的角色: 他就像是一個殼,作用於用戶和操作系統(kernel)中間,負責將命令解析成操作系統可理解的低級語言,同時將操作系統的響應信息轉換成用戶可以理解的形式顯示。 adb -d shell:直接進入當前usb連接的設備的shell環境 adb -e shell:直接進入當前模擬器設備的shell環境