adb 常用命令

###1 adb的概念

adb的全稱爲Android Debug Bridge(調試橋);通過adb我們可以在Eclipse中方便通過DDMS來調試Android程序。當我們運行Eclipse時ADB進程會自動運行(默認adb會daemon相關的網絡端口)。adb是一個客戶端-服務器端程序,其中客戶端是電腦,服務端是Android設備。

###2 adb的主要功能

  • 運行設備的shell命令;

  • 管理模擬器或設備的端口映射;

  • 計算機和設備之間上傳/下載文件;

  • 將本地apk軟件安裝至模擬器或Android設備;

###3 adb的常用命令

####3-1 查看設備:adb device

這個命令是查看當前連接的設備, 連接到計算機的android設備或者模擬器將會列出顯示。

這裏寫圖片描述

輸出信息的第2列都是device,表示當前設備都在線。如果該列的值是offline,表示該實例沒有連接到adb上或實例沒有響應。

####3-2 登錄設備的shell:adb shell

這個命令將登錄設備的shell.後面加將是直接運行設備命令, 相當於執行遠程命令。

這裏寫圖片描述

退出shell模式:ctrl+c

這裏寫圖片描述

####3-3 啓動和關閉ADB服務:adb kill-server

模擬器在運行一段時間後,adb服務有可能(在Windows進程中可找到這個服務,該服務用來爲模擬器或通過USB數據線連接的真機服務)會出現異常。這時需要重新對adb服務關閉和重啓。

####3-4 重啓設備:adb reboot
重新啓動到recovery

adb reboot recovery

重新啓動到bootloader

adb reboot bootloader

重新啓動到bootloader

adb reboot fastboot
fastboot flash recovery <路徑>

####3-5 安裝軟件:adb install

這個命令將指定的apk文件安裝到設備上。

如:adb install E:\com.baidumap.apk

如果在安裝程序之前,該程序已經在模擬器或真機上存在了,可以使用“-r”重新安裝。

adb install -r  E:\com.baidumap.apk

####3-6 卸載軟件:adb uninstall <包名>

adb uninstall -k <包名>
如果加 -k 參數,爲卸載軟件但是保留配置和緩存文件。

如:adb uninstall  com.alistory.Activity

####3-7 查看所有應用包名

adb shell pm list packages

這裏寫圖片描述

####3-8 電腦->設備

adb push <本地路徑> <遠程路徑>
用push命令可以把本機電腦上的文件或者文件夾複製到設備(手機)。

如:adb push  E:\test.txt   /sdcard/

####3-9 設備->電腦

adb pull <遠程路徑> <本地路徑>
用pull命令可以把設備(手機)上的文件或者文件夾複製到本機電腦。

如:adb pull /sdcard/1.txt   d:\file\

####3-10 多設備選擇

adb –s <設備號>
多設備選擇操作

####3-11 adb shell下的dumpsys可以查看很多系統service信息

adb shell dumpsys activity top|findstr ACTIVITY

####3-12 adb logcat查看系統日誌

通過選項(參數)過濾
通過管道( | grep )過濾

如: ps |grep system_server

這裏寫圖片描述

####3-13 adb shell下的getprop可以查看很多設備相關信息(IMIE、SN、固件信息、機型……)

腳本中可以用Runtime.getRuntime().exec(“getprop ro.product.model”);

####3-14 adb命令在android 代碼中這樣執行:

private boolean runCmdFunction(String cmd) {
		boolean retValue = false;
		
		if (cmd == null) {
			return false;
		}
		
		Process process = null;
		try {
			process = Runtime.getRuntime().exec(cmd);
			retValue = true;
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
			return false;
		}
		
		return retValue;
	}

###4 adb總結

綜合來說,adb在開發測試調試中是一個很不錯的工具,很多小的細節需要在項目中慢慢體會。

發佈了53 篇原創文章 · 獲贊 93 · 訪問量 26萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章