1. 程式人生 > >Android ADB常用命令整理

Android ADB常用命令整理

在Android裝置除錯過程中,經常需要用ADB來管理虛擬裝置或者真機,在此羅列一些基本的ADB命令供學習交流。

首先介紹一下ADB:

ADB全稱Android Debug Bridge, 是android sdk裡的一個工具, 用這個工具可以直接操作管理android模擬器或者真實的andriod裝置(手機)。

它的主要功能有: 執行裝置的shell(命令列)、管理模擬器或裝置的埠對映、計算機和裝置之間上傳/下載檔案、將本地apk軟體安裝至模擬器或android裝置。

ADB是一個客戶端-伺服器端程式,其中客戶端是你用來操作的電腦,伺服器端是android裝置。先說安裝方法,電腦上需要安裝客戶端。客戶端包含在SDK裡。裝置上不需要安裝,只需要在手機上開啟選項-設定-應用程式-USB除錯(4.0+:裝置-開發人員選項)。adb有各個系統的版本:Liunx,Mac,Windows,根據你自己的作業系統來選擇要下載的Android SDK就可以使用adb命令了。

如下解釋下ADB常用的幾個命令

1、退出adb shell的方法:exit或者ctrl+D

2、顯示SQLite

adb shell

sqlite3

3、關機命令

adb shell reboot -p

4、重啟裝置

adb reboot

5、檢視裝置

 adb devices

這個命令是檢視當前連線的裝置, 連線到計算機的android裝置或者模擬器將會列出顯示

6、安裝軟體

adbinstall[-r] [-s]

這個命令將指定的apk檔案安裝到裝置上.
-r 強制安裝(在某些情況下可以已有些應用程式在執行或不可寫,可加上此引數強制安裝)
-s 將apk檔案安裝在SD-Card

7、解除安裝軟體

adb uninstall [-k] <軟體名>

如果加 -k 引數,為解除安裝軟體但是保留配置和快取檔案.

8、從電腦上傳送檔案到裝置

adb push <本地路徑> <遠端路徑>

用push命令可以把本機電腦上的檔案或者資料夾複製到裝置(手機)

例:傳送檔案到手機中,如:

adb push recovery.img /sdcard/recovery.img

9、將本地目錄中的recovery.img檔案傳送手機的 SD卡中並取同樣的檔名。

從裝置上下載檔案到電腦

adb pull <遠端路徑> <本地路徑>

用pull命令可以把裝置(手機)上的檔案或者資料夾複製到本機電腦

10、顯示幫助資訊

adb help

-- 這個命令將顯示幫助資訊

11、顯示ADB命令版本號

adb version

12、啟動計算機adb 服務程序

adb start-server

當然你可以直接使用adb devices命令時自動開啟

13、關閉計算機adb 服務程序

adb kill-server

這樣可以關閉adb服務程序,有時正在使用adb,然後想刪除adb,那這時你得先關閉程序才了刪除,就要用到它了。

14、重啟裝置

adb reboot [bootloader|recovery] adb reboot-bootloader

重啟有三種方式:

直接重啟裝置回到使用介面adb reboot即可
重啟裝置到bootloader引導模式:adb reboot-bootloader或adb reboot bootloader
重啟到recovery刷機模式:adb reboot recovery

15、返回裝置狀態

adb get-state

返回裝置狀態,有三種結果:關機,引導模式,裝置線上

16、返回裝置序列號

adb get-serialno

返回裝置序列號SN值

17、獲取裝置的ROOT許可權

adb remount

通過這個命令就可以獲取裝置的ROOT許可權,可以通過adb操作/system等系統目錄,如

adb push xx.app/system/app

即可將app應用直接放入系統目錄。這個操作必須機子已解鎖並ROOT過。

18、檢視模擬器log資訊
adb logcat

19、獲取管理員許可權
adb root
20、啟動activity (adb shell後面跟的命令主要來自原始碼\system\core\toolbox目錄和原始碼\frameworks\base\cmds目錄)
adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴充套件資料,等)

21、掛在分割槽(可使系統分割槽重新可寫)
adb remount 
22、釋出埠(可以設定任意的埠號,做為主機向模擬器或裝置的請求埠)
adb forward tcp:5555 tcp:8000