① 超實用的adb與adb shell常用命令匯總
adb(android Debug Bridge),SDK自帶的工具,可實現橋接功能,實現PC和android設備的交互
adb shell:基於Android linux系統操作,放在安卓設備的system/bin目錄下,手機端的命令
一:adb常用命令
1. PC連接android設備
(PC與android設備連接同一個wifi,或處於同一個區域網)
連接:adb connect ip:5555
斷開連接:adb disconnect ip
查看連接設備的信息:adb devices
獲取設備的狀態:adb get-state
2. 重啟adb server
打開adb服務:adb start-service
關閉adb服務:adb kill-service
3. 安裝卸載軟體
安裝:adb install apkpath(某個apk)
adb install -r :強制安裝
卸載: adb uninstall package(可用adb shell pm list packages查看包名)
4. 列印日誌
列印android系統日誌:adb logcat
將日誌列印並保存指定文件夾:adb logcat > /Users/apple/Desktop/log.txt
終止進程:control+C
列印mpsys,mpstate,logcat的輸出,用於分析錯誤:adb bugreport
5. PC與android設備上文件復制
android設備上文件復制到PC上:adb pull
PC上文件推至android設備:adb push
6.重新掛載system分區為可寫,需要root許可權./system分區默認掛載為只讀,但有些操作比如給android系統添加命令,刪除自帶應用等需對系統進行寫操作,得重新掛載為可寫
adb shell
su
或:adb root
adb remount 重新掛載文件系統,獲得可寫的許可權(默認情況是只有可讀許可權的),使用adb remount 的前提是要有root許可權
7. 刪除系統應用
adb root
adb remount
adb shell
cd system/app
rm *apk
二:adb shell命令
adb shell 進入系統子目錄,exit 退出
1. pm命令
列出系統應用的所有包名:adb shell pm list packages 可用grep來過濾:adb shell pm list packages | grep 關鍵字
清除應用數據與緩存:adb shell pm clear <packagename>
2. am命令
啟動應用:adb shell am start -n com.xxx.xxxxxxx|xxx.Activity(可通過adb shell mpsys activity activities | grep mFocusedActivity查看
強制停止應用:adb shell am force-stop <packagename>
3. input命令
模擬點擊事件,點擊坐標點(x,y):adb shell input tap x y
模擬滑動事件,從(x1,y1)到(x2,y2):adb shell input swipe x1 y1 x2 y2
發送文本內容:adb shell input text
模擬按下home:adb shell input keyevent KRYCODE_HOME
4. screencap命令
截屏:adb shell screencap
5. 查看網路狀態命令
查看當前網路狀態:adb shell netstat
通過配置文件配置和管理網路連接:adb shell netcfg
查看網路信息:ifconfig
測試網路聯網狀態:ping
5.其它相關命令
查看當前終端中進程:adb shell ps
獲取cpu信息:adb shell cat /proc/cpuinfo
查看內存信息:adb shell cat /proc/meminfo
查看屏幕解析度:adb shell wm size
查看設備ip地址:adb shell ifconfig | grep Mask
查看實時資源佔用情況:adb shell top
② ADB常用命令
Android 調試橋 (adb) ,可與設備進行通信。adb 命令可用於執行各種設備操作(例如安裝和調試應用),並提供對 Unix shell(可用來在設備上運行各種命令)的訪問許可權。它是一種客戶端-伺服器程序,包括以下三個組件:
客戶端: 用於發送命令。客戶端在開發機器上運行。可以通過發出 adb 命令從命令行終端調用客戶端。(可以通過它對Android應用進行安裝、卸載、調試)
PC上的手機助手基本都是通過adb命令去完成的。有時候裝了這類手機助手的話,它自帶的adb程序可能會與Android SDK下的adb程序產生沖突,5037埠被佔用,導致adb命令無法連接到設備。Windows下通過netstat -ano|findstr "5037"
守護程序 (adbd): 用於在設備上運行命令。守護程序在每個設備上作為後台進程運行
執行adb shell ps | grep adbd, 可以找到該後台進程,Windows使用findstr替代grep.
adb nodaemon server
伺服器(Service): 用於管理客戶端與守護程序之間的通信。伺服器在開發機器上作為後台進程運行
adb服務啟動後,Windows可以在任務管理中找到adb.exe; linux ps -ef | gref adb 可以查看service
一般都是通過這樣子的格式 adb [-d|-e|-s <設備序列號>] <子命令>
通常只有一台設備就忽略 [-d|-e|-s ] 這一部分
這里介紹一些常用的命令:
獲取設備列表及設備狀態
獲取設備的狀態
注意:設備的狀態有 3 鍾,device , offline , unknown
device:設備正常連接
offline:連接出現異常,設備無響應
unknown:沒有連接設備
結束 adb 服務
啟動 adb 服務
注意:通常兩個命令一起用,有時候我們開啟server會失敗,這是因為我們裝了的手機助手,豌豆莢或者其他軟體自帶有自己的adb,導致埠沖突開啟失敗。一般在連接出現異常,使用 adb devices 未正常列出設備, 設備狀態異常時使用 kill-server,然後運行 start-server 進行重啟服務。
列印 Android 的系統日誌
列印 mpsys、mpstate、logcat 的輸出,也是用於分析錯誤輸出比較多
列印日誌後重定向到一個文件中
安裝應用,覆蓋安裝是使用 -r 選項
注意:有些adb版本無法支持安裝中文的apk
查看手機應用包名
查看應用對應的apk文件在手機上的安裝位置則可以在上面的命令後加-f參數
卸載應用,後面跟的參數是應用的包名,請區別於 apk 文件名
'-k' means keep the data and cache directories , -k 選項,卸載時保存數據和緩存目錄
將 Android 設備上的文件或者文件夾復制到本地
adb pull /sdcard/test.txt C:\Users\Administrator\Desktop\log
推送本地文件至 Android 設備
獲取連接到的手機的序列號
獲取設備的連接狀態
等待設備連接成功
該命令將會阻塞一直到默認連接的那部機器狀態變為device,也就是連接成功。
其實adb shell命令就是調用的是Android設備中的system/bin目錄下的命令。
Android的內核本身就是Linux,所以Android本身也支持Linux命令,但是因為是手機系統,所以進行了一定的刪減,部分命令不支持,而不支持的部分,我們可以通過安裝busybox這個軟體進行。
如何在手機中執行Shell命令?
每次都加上adb shell來進行命令的發送與執行
先通過adb shell進入手機Shell執行狀態,然後直接輸入Linux命令。
使一個apk處於禁用狀態,相當於卸載了:
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:adb shell su disable com.UCMobile/.main.UCMobile
同時我們在手機上發現,UC瀏覽器的圖標不見了
讓一個apk從禁用狀態恢復過來
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobileeg:
adb shell su enable com.UCMobile/.main.UCMobile
同時我們從手機上發現,UC瀏覽器的圖標又出現了。
查看一個apk所在的路徑
adb shell pm path com.UCMobile
查看手機中裝的所有的包
屏幕開始錄像並且儲存到/sdcard中,同時名字為demo.mp4
錄屏設置時長10s,命名為demo.mp4
注意:現在僅支持一部分手機錄屏,不支持的手機會出現以下提示
解決方法:
安裝了scrcpy之後,只需要輸入如下命令,即可錄取指定設備的屏幕
scrcpy -s device --render-expired-frames -Nr ./demo.pm4
--render-expired-frames:盡可能最大幀率
-N:不在PC端展示
-r:錄制mp4/mkv文件
關閉設備請求,開啟設備
設備關機以及重啟
pm(package manager)可以獲取一些安裝到Android設備上的app的信息
pm list packages 用法:list packages [ options] filter
獲取所有的應用的包名
列出系統應用
列出第三方應用
查看它們的關聯文件
adb shell pm list package -f
查看軟體包的安裝來源
pm mp 包名 很多mp信息
安裝應用
apk如果在電腦用 adb install
如果在Android設備上用 adb shell pm install
卸載應用,同adb uninstall ,後跟包名
清除應用數據
am(activity manager,字面意思就跟activity有關,大家都知道Android的界面都是由一個個activity顯示的)
啟動一個Activity
獲取到package和launch_activity
AndroidSDK中aapt工具,檢索命令結果,可以獲取到package和launch_activity
這里涉及到一個點,如何找到程序的入口,首先你要知道是哪個activity才能啟動;
啟動華為系統相機
打開音樂播放器
播放指定音樂:
先停止目標應用,再啟動
等待應用完成啟動
啟動網頁(android.intent.action.VIEW具體參考Android官網)
結束應用
input
模擬輸入,向獲得焦點的EditText控制項輸入內容
返回主界面
發送一個點擊操作的指令,參數是<x> <y>坐標
從左往右滑動屏幕, /從 100 100 經歷300毫秒滑動到 200 200
長按操作,在 100 100 位置長按 1000毫秒
③ 如何在android程序中執行adb shell命令
一、方法
代碼如下:
/**
* 執行一個shell命令,並返回字元串值
*
* @param cmd
* 命令名稱&參數組成的數組(例如:{"/system/bin/cat", "/proc/version"})
* @param workdirectory
* 命令執行路徑(例如:"system/bin/")
* @return 執行結果組成的字元串
* @throws IOException
*/
public static synchronized String run(String[] cmd, String workdirectory)
throws IOException {
StringBuffer result = new StringBuffer();
try {
// 創建操作系統進程(也可以由Runtime.exec()啟動)
// Runtime runtime = Runtime.getRuntime();
// Process proc = runtime.exec(cmd);
// InputStream inputstream = proc.getInputStream();
ProcessBuilder builder = new ProcessBuilder(cmd);
InputStream in = null;
// 設置一個路徑(絕對路徑了就不一定需要)
if (workdirectory != null) {
// 設置工作目錄(同上)
builder.directory(new File(workdirectory));
// 合並標准錯誤和標准輸出
builder.redirectErrorStream(true);
// 啟動一個新進程
Process process = builder.start();
// 讀取進程標准輸出流
in = process.getInputStream();
byte[] re = new byte[1024];
while (in.read(re) != -1) {
result = result.append(new String(re));
}
}
// 關閉輸入流
if (in != null) {
in.close();
}
} catch (Exception ex) {
ex.printStackTrace();
}
return result.toString();
}
二、用途
執行Linux下的top、ps等命令,這些命令你也通過adb可以執行查看效果。
1)top命令如下:
復制代碼 代碼如下:
adb shell
$ top -h
top -h
Usage: top [-m max_procs] [-n iterations] [-d delay] [-s sort_column] [-t] [-h]
-m num Maximum number of processes to display. // 最多顯示多少個進程
-n num Updates to show before exiting. // 刷新次數
-d num Seconds to wait between updates. // 刷新間隔時間(默認5秒)
-s col Column to sort by <cpu,vss,rss,thr> // 按哪列排序
-t Show threads instead of processes. // 顯示線程信息而不是進程
-h Display this help screen. // 顯示幫助文檔
$ top -n 1
top -n 1
就不把執行效果放上來了,總之結果表述如下:
代碼如下:
User 35%, System 13%, IOW 0%, IRQ 0% // CPU佔用率
User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306 // CPU使用情況
PID CPU% S #THR VSS RSS PCY UID Name // 進程屬性
xx xx% x xx xx xx xx xx xx
CPU佔用率:
User 用戶進程
System 系統進程
IOW IO等待時間
IRQ 硬中斷時間
CPU使用情況(指一個最小時間片內所佔時間,單位jiffies。或者指所佔進程數):
User 處於用戶態的運行時間,不包含優先值為負進程
Nice 優先值為負的進程所佔用的CPU時間
Sys 處於核心態的運行時間
Idle 除IO等待時間以外的其它等待時間
IOW IO等待時間
IRQ 硬中斷時間
SIRQ 軟中斷時間
進程屬性:
PID 進程在系統中的ID
CPU% 當前瞬時所以使用CPU佔用率
S 進程的狀態,其中S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值是負數。
#THR 程序當前所用的線程數
VSS Virtual Set Size 虛擬耗用內存(包含共享庫佔用的內存)
RSS Resident Set Size 實際使用物理內存(包含共享庫佔用的內存)
PCY OOXX,不知道什麼東東
UID 運行當前進程的用戶id
Name 程序名稱android.process.media
// ps:內存佔用大小有如下規律:VSS >= RSS >= PSS >= USS
// PSS Proportional Set Size 實際使用的物理內存(比例分配共享庫佔用的內存)
// USS Unique Set Size 進程獨自佔用的物理內存(不包含共享庫佔用的內存)
在附件Android系統->android top.txt文件內,自個總結的。
2)執行代碼
代碼如下:
// top命令
public static final String[] TOP = { "/system/bin/top", "-n", "1" };
// 現在執行top -n 1,我們只需要第二行(用第二行求得CPU佔用率,精確數據)
// 第一行:User 35%, System 13%, IOW 0%, IRQ 0% // CPU佔用率
// 第二行:User 109 + Nice 0 + Sys 40 + Idle 156 + IOW 0 + IRQ 0 + SIRQ 1 = 306
// // CPU使用情況
public static synchronized String run(String[] cmd) {
String line = "";
InputStream is = null;
try {
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(cmd);
is = proc.getInputStream();
// 換成BufferedReader
BufferedReader buf = new BufferedReader(new InputStreamReader(is));
do {
line = buf.readLine();
// 前面有幾個空行
if (line.startsWith("User")) {
// 讀到第一行時,我們再讀取下一行
line = buf.readLine();
break;
}
} while (true);
if (is != null) {
buf.close();
is.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return line;
}
// 獲取指定應用的top命令獲取的信息
// PID CPU% S #THR VSS RSS PCY UID Name // 進程屬性
// 如果當前應用不在運行則返回null
public static synchronized String run(String[] cmd, String pkgName) {
String line = null;
InputStream is = null;
try {
Runtime runtime = Runtime.getRuntime();
Process proc = runtime.exec(cmd);
is = proc.getInputStream();
// 換成BufferedReader
BufferedReader buf = new BufferedReader(new InputStreamReader(is));
do {
line = buf.readLine();
// 讀取到相應pkgName跳出循環(或者未找到)
if (null == line || line.endsWith(pkgName)) {
break;
}
} while (true);
if (is != null) {
buf.close();
is.close();
}
} catch (IOException e) {
e.printStackTrace();
}
return line;
}
④ 常用adb命令總結
前言
很早就想整理一下自己平時常用的一些adb命令,不僅為了便於以後查找,而且整理的過程自己又重新復習了一遍,但是當我開始在度娘一搜的時候,發現很多人已經寫的非常詳細了,尤其是當我發現了 這篇adb概括
心中一句NND,怎麼可以寫的這么詳細,瞬間沒了想寫這篇文章的慾望,如果你點了鏈接發現確實很全,那麼恭喜你可以關掉這篇了,哈哈哈。
我就不這么想的,雖然很全,但不是我常用的,因人而異,所以我就權當記筆記+替這哥們宣傳了。
設備的狀態有 3 種
常見的錯誤情況
-查看前台 Activity
最常用的就是啟動指定的activity和發送指定的廣播
操作指令 adb shell am start -n 包名/類名
啟動默認瀏覽器打開一個網頁
adb shell am start -a android.intent.action.VIEW -d http://testerhome.com
先停止目標應用,再啟動
adb shell am start -s com.android.camera/.Camera
啟動相機
adb shell am start -n com.android.camera/.Camera
啟動設置
adb shell am start -n com.android.settings/com.android.settings.Settings
啟動Wifi設置
adb shell am start -n com.android.settings/com.android.settings.wifi.WifiSettings
啟動藍牙設置
adb shell am start -n com.android.settings/com.android.settings.bluetooth.BluetoothSettings
其它的類似只要你能在manifest中找到配置的,都可以通過這種方法來調用
操作指令 adb shell am broadcast -a 廣播名 --ei/es/ez 參數名 參數值 --ei/es/ez 參數名 參數值
--ei integer 值
--es String 值
--ez boolean 值
--ef float 值
--el long 值
例如之前寫的
Android6.0 源碼修改之Setting列表配置項動態添加和靜態添加 , 當中就通過發送廣播來接收增加配置列表項
adb shell am broadcast -a cn.dynamic.add.settingcategoryitem --es location "0-2" --es title "紅" --es intent "com.android.settings.SCHEDULE_POWER_ON_OFF_SETTING"
命令:
adb shell settings put global policy_control <key-values>
<key-values> 可由如下幾種鍵及其對應的值組成,格式為 key1=value1:key2=value2。
key 含義
這些鍵對應的值可則如下值用逗號組合:
value 含義
例如:
adb shell settings put global policy_control immersive.full=*
表示設置在所有界面下都同時隱藏狀態欄和導航欄。(重啟也不會失效,恢復需調用下面的命令)
adb shell settings put global policy_control immersive.preconfirms=*
表示恢復顯示
adb shell settings put global policy_control immersive.status=com.package1,com.package2:immersive.navigation=apps,-com.package3
表示設置在包名為 com.package1 和 com.package2 的應用里隱藏狀態欄,在除了包名為 com.package3 的所有應用里隱藏導航欄。
參考鏈接
Android 常用 adb 命令總結
ADB命令大全
⑤ adb與adb shell命令使用
adb connect ip:5555
adb get-state
adb devices
adb kill-server
adb start-server
adb logcat >D:/log.log
adb pull sdcard/test.txt D:\123
adb push D:\123\test.txt sdcard
adb shell pm list package
adb shekk pm list package -s
adb shell pm list package -3
adb shell pm list package -f
adb shell pm list package -i hu
adb shell pm path com.hu.android
adb shell pm mp com.hu.android
adb install xxx.apk
adb shell pm install xxx.apk
adb uniinstall 包名
adb shell pm uninstall 包名
adb shell pm clear 包名
adb shell pm set-install-location 0/1/2
adb shell pm get-install-location
adb shell mpsys package com.hu.android
adb shell am start -n com.hu.android/.app.ui.activity.LauncherActivity
adb shell am start -s com.hu.android/.app.ui.activity.LauncherActivity
adb shell am start -w com.hu.android/.app.ui.activity.LauncherActivity
adb shell am start -a android.intent.action.VIEW -d http://.com
adb shell am start -a android.intent.action.CALL -d tel:10086
adb shell am force-stop 包名
adb shell input text 123456
adb shell input keyevent KEYCODE_HOME
adb shell input tap 500 500
adb shell input swipe 900 500 100 500
adb shell screencap -p /sdcard
adb shell setprop service.adb.tcp.port 5555
adb shell getprop service.adb.tcp.port
⑥ 常用的adb命令
Android Debug Bridge,我們一般簡稱為adb,主要存放在sdk安裝目錄下的platform-tools文件夾中,它是一個非常強大的命令行工具,通過這個工具你能夠與你的android設備進行交互,被稱為Android 調試橋。
它是一種客戶端-伺服器程序,包括以下三個組件:
adb shell 命令
adb shell 則是調用的 Android 系統中的命令,這些 Android 特有的命令都放在了 Android 設備的 system/bin 目錄下
monkey命令
當您啟動某個 adb 客戶端時,該客戶端會先檢查是否有 adb 伺服器進程正在運行。如果沒有,它會啟動伺服器進程。伺服器在啟動後會與本地 TCP 埠 5037 綁定,並監聽 adb 客戶端發出的命令 - 所有 adb 客戶端均通過埠 5037 與 adb 伺服器通信。
然後,伺服器會與所有正在運行的設備建立連接。它通過掃描 5555 到 5585 之間(該范圍供前 16 個模擬器使用)的奇數號埠查找模擬器。伺服器一旦發現 adb 守護程序 (adbd),便會與相應的埠建立連接。請注意,每個模擬器都使用一對按順序排列的埠 - 用於控制台連接的偶數號埠和用於 adb 連接的奇數號埠。例如:
模擬器 1,控制台:5554
模擬器 1,adb:5555
模擬器 2,控制台:5556
模擬器 2,adb:5557
依此類推
如上所示,在埠 5555 處與 adb 連接的模擬器與控制台監聽埠為 5554 的模擬器是同一個。
伺服器與所有設備均建立連接後,您便可以使用 adb 命令訪問這些設備。由於伺服器管理與設備的連接,並處理來自多個 adb 客戶端的命令,因此您可以從任意客戶端(或從某個腳本)控制任意設備。
要在通過 USB 連接的設備上使用 adb,您必須在設備的系統設置中啟用 USB 調試 (位於 開發者選項 下)。
在搭載 Android 4.2 及更高版本的設備上,「開發者選項」屏幕默認情況下處於隱藏狀態。如需將其顯示出來,請依次轉到 設置 > 關於手機 ,然後點按 版本號 七次。返回上一屏幕,在底部可以找到 開發者選項 。
在某些設備上,「開發者選項」屏幕所在的位置或名稱可能有所不同。
執行 adb devices 驗證設備是否已連接。如果已連接,您將看到設備名稱以「設備」形式列出。
一般情況下,adb 通過 USB 與設備進行通信,但您也可以在通過 USB 完成一些初始設置後,通過 WLAN 使用 adb,如下所述。
如果 adb 連接斷開:
如果有多個設備在運行,您在發出 adb 命令時必須指定目標設備。為此,請使用 devices 命令獲取目標設備的序列號。獲得序列號後,請結合使用 -s 選項與 adb 命令來指定序列號。如果您要發出很多 adb 命令,可以將 $ANDROID_SERIAL 環境變數設為包含序列號。如果您同時使用 -s 和 $ANDROID_SERIAL , -s 會替換 $ANDROID_SERIAL 。
$ adb -s emulator-5555 install helloWorld.apk
注意 :如果您在多個設備可用時發出命令但未指定目標設備,adb 會生成錯誤。
如果有多個可用設備,但只有一個是模擬器,請使用 -e 選項將命令發送至該模擬器。同樣,如果有多個設備,但只連接了一個硬體設備,請使用 -d 選項將命令發送至該硬體設備。
使用 forward 命令設置任意埠轉發,將特定主機埠上的請求轉發到設備上的其他埠。以下示例設置了主機埠 6100 到設備埠 7100 的轉發:
>adb forward tcp:6100 tcp:7100
您可以使用 pull 和 push 命令將文件復制到設備或從設備復制文件。與 install 命令(僅將 APK 文件復制到特定位置)不同,使用 pull 和 push 命令可將任意目錄和文件復制到設備中的任何位置。
如需從設備中復制某個文件或目錄(及其子目錄),請使用以下命令:
adb pull remote local
如需將某個文件或目錄(及其子目錄)復制到設備,請使用以下命令:
adb push loca remote
adb kill-server
您可以使用 shell 命令通過 adb 發出設備命令,也可以啟動互動式 shell。如需發出單個命令,請使用 shell 命令,如下所示:
adb [-d |-e | -s shell shell_command
在 adb shell 中,您可以使用 Activity 管理器 ( am ) 工具發出命令以執行各種系統操作,如啟動 Activity、強行停止進程、廣播 intent、修改設備屏幕屬性,等等。在 shell 中,相應的語法為:
您也可以直接從 adb 發出 Activity 管理器命令,無需進入遠程 shell。例如:
adb shell am start -a android.intent.action.VIEW
⑦ 如何在android程序中執行adb shell命令
步驟1:安裝USB驅動下載並安裝HTC完整驅動程序(http://shuajidown3.lexun.cn/articile/2013/7/3/HTCDriver3.0.0.021.exe)手機進入設置-應用程序-開發-USB調試,將第一個選項打鉤選中。然後通過USB線連接電腦,提示安裝驅動。步驟2:軟體准備1、把ADB工具http://shuajidown3.lexun.cn/articile/2013/7/3/adb工具.rar
解壓放到你的電腦系統盤的根目錄下
現在就可以進行命令的操作了。
【常用adb shell命令】
1. 顯示系統中全部Android平台:android list targets
2. 顯示系統中全部AVD(模擬器):android list avd
3. 創建AVD(模擬器):android create avd --name 名稱 --target 平台編號
4. 啟動模擬器:emulator -avd 名稱 -sdcard ~/名稱.img (-skin 1280x800)
5. 刪除AVD(模擬器):android delete avd --name 名稱
6. 創建SDCard:mksdcard 1024M ~/名稱.img
7. AVD(模擬器)所在位置:Linux(~/.android/avd) Windows(C:Documents and SettingsAdministrator.androidavd)
8. 啟動DDMS:ddms
9. 顯示當前運行的全部模擬器:adb devices
10. 對某一模擬器執行命令:abd -s 模擬器編號 命令
11. 安裝應用程序:adb install -r 應用程序.apk
12. 獲取模擬器中的文件:adb pull <remote> <local>
13. 向模擬器中寫文件:adb push <local> <remote>
14. 進入模擬器的shell模式:adb shell
15. 啟動SDK,文檔,實例下載管理器:android
16. 卸載apk包:adb shellcd data/apprm apk包exitadb uninstall apk包的主包名adb install -r apk包
17. 查看adb命令幫助信息:adb help
18. 在命令行中查看LOG信息:adb logcat -s 標簽名
19. adb shell後面跟的命令主要來自:源碼systemcore oolbox目錄和源碼frameworksasecmds目錄。
20. 刪除系統應用:adb remount (重新掛載系統分區,使系統分區重新可寫)。adb shellcd system/apprm *.apk
21. 獲取管理員許可權:adb root
22. 啟動Activity:adb shell am start -n 包名/包名+類名(-n 類名,-a action,-d date,-m MIME-TYPE,-c category,-e 擴展數據,等)。
23、發布埠:你可以設置任意的埠號,做為主機向模擬器或設備的請求埠。如:adb forward tcp:5555 tcp:8000
24、復制文件:你可向一個設備或從一個設備中復制文件,復制一個文件或目錄到設備或模擬器上:adb push <source> <destination></destination></source>如:adb push test.txt /tmp/test.txt從設備或模擬器上復制一個文件或目錄:adb pull <source> <destination></destination></source>如:adb pull /addroid/lib/libwebcore.so
25、搜索模擬器/設備的實例:取得當前運行的模擬器/設備的實例的列表及每個實例的狀態:adb devices
26、查看bug報告:adb bugreport
27、記錄無線通訊日誌:一般來說,無線通訊的日誌非常多,在運行時沒必要去記錄,但我們還是可以通過命令,設置記錄:adb shelllogcat -b radio
28、獲取設備的ID和序列號:adb get-proctadb get-serialno
29、訪問資料庫SQLite3adb shellsqlite3#cd system/sd/data //進入系統內指定文件夾#ls //列表顯示當前文件夾內容#rm -r xxx //刪除名字為xxx的文件夾及其裡面的所有文件#rm xxx //刪除文件xxx #rmdir xxx //刪除xxx的文件夾