Android除錯工具adb的高逼格使用方式
引言:
通常在使用Eclipse進行Android應用開發的時候,我們可以使用Eclipse自帶的工具來完成除錯和檢視輸出日誌的操作,但是假如在當前電腦並沒有配置適用於Android開發的Eclipse版本的情況下,想要檢視Android裝置執行應用或者遊戲時的實時輸出日誌,可以直接藉助Android除錯工具 adb
來完成。
adb簡介:
adb
全稱是 Android Debug Bridge
,即安卓除錯工具。
adb配置:
與其說是安裝 adb
,更準確的描述應該是解壓和配置。先下載 adb工具包,然後加壓得到一個 adb
資料夾,包含檔案如下:
| adb
| --- adb.exe
| --- AdbWinApi.dll
| --- AdbWinUsbApi.dll
| --- fastboot.exe
為了可以全域性使用 adb
工具,我們可以用兩種方式來實現配置操作:
方法一:配置環境變數
直接將 adb
資料夾的目錄新增到系統環境變數 Path
中,操作步驟:我的電腦
-> 屬性
-> 高階系統設定
-> 環境變數
:
方法二:複製到系統檔案目錄
將 adb
工具包的四個檔案都複製到 C:\Windows\System32
目錄裡。
報錯:
這是網上推薦的方式之一,但是我嘗試之後發現並不能正常使用,在cmd視窗輸入adb
解決:
原來,這個配置過程跟系統的位數有關,假如系統是32位的,則將四個檔案都複製到C:\Windows\System32
目錄裡即可。但是,假如使用的Windows系統是64位的,則需要將其中的AdbWinApi.dll
檔案複製到C:\Windows\SysWOW64
裡,這樣就一切正常了。
常用操作:
1.查詢版本:
開啟cmd視窗,定位到 adb.exe
所在的檔案目錄,然後輸入版號查詢指令:
shell
E:\java web\tools\adb>adb -v
Android Debug Bridge version 1.0.26
2.啟動和關閉:
啟動:
adb start-server
關閉:
adb kill-server
3.查詢連線裝置列表:
注意使用前先確保手機的USB除錯功能是開啟的狀態。
設定
->開發者選項
->USB除錯
(勾選)
在cmd視窗輸入 adb devices
查詢裝置列表:
C:\Users\Administrator>adb devices
List of devices attached
622123171690109874 device
問題:
假如在裝置管理器中看到裝置已經連線上:計算機管理
->裝置管理
->Android Phone
->Android Composite ADB Interface
->右鍵屬性
->詳細資訊
但是,adb
查詢結果發現列表卻是空的:C:\Users\Administrator>adb devices adb server is out of date. killing... * daemon started successfully * List of devices attached
- 解決:
開啟C:\Users\Administrator\.android
目錄,修改或新建一個adb_usb.ini
檔案,填寫內容為:0x[VID]
這裡
[VID]
其實是硬體的id
,對應的其實就是上面計算機裝置管理中的USB\VID_2C73&PID_7029&REV_FFFF&MI_01
中VID_
後面緊跟著的4位數字,這裡是 “2C73”,故最終adb_usb.ini
檔案的內容是:0x2C73
然而,又出現瞭如下錯誤:
C:\Users\Administrator>adb devices
List of devices attached
622123171690109874 offline
網上資料說是由於:谷歌在 “Android 4.2.2“ 以後加入了驗證,需要配合使用最新的ADB工具。這裡我重新下載了 “adb 1.0.32“ 再嘗試查詢裝置列表即正常了:
F:\android-sdk\platform-tools>adb -v
Android Debug Bridge version 1.0.32
F:\android-sdk\platform-tools>adb devices
adb server is out of date. killing...
* daemon started successfully *
List of devices attached
622123171690109874 device
下面步驟都是在查詢裝置指令執行正常的前提下進行的,否則無法正常使用。
3.列印日誌:
命令 | 說明 | 備註 |
---|---|---|
adb logcat | 列印log | / |
adb logcat -c | 清除手機的log buffer | 有些手機許可權控制, 不支援. |
adb logcat -b | 列印指定buffer的log資訊 | buffer有: main(主log區,預設), events(事件相關的log), radio(射頻, telephony相關的log) |
adb logcat -v | 格式化輸出log | 常用的用adb logcat -v time顯示時間 |
adb logcat -f | 輸出log到指定檔案 |
4.安裝/解除安裝 apk:
安裝:(安裝apk時指定apk file路徑)
adb install (.apk的目錄)
解除安裝:(解除安裝apk時指定包名)
adb uninstall (apk的包名(xx.xx.com))
通常直接有兩種方式來檢視 logcat
日誌:
實時cmd視窗輸出:
adb logcat
寫入到指定日誌輸出檔案:
adb logcat -d >logcat.txt
會在當前目錄下生成一個
logcat.txt
日誌檔案。
5.進入裝置的 shell 介面:
adb shell
小結:
總說高階的程式設計師就要做到脫離UI介面的程式設計模式,所以像這樣直接使用cmd視窗來操作使用類似 adb
這樣工具,從而完成我們功能需求,是不是看起來有點厲害的感覺呢。