導航:首頁 > 程序命令 > adb命令目錄

adb命令目錄

發布時間:2023-05-16 08:40:51

Ⅰ 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毫秒

Ⅱ 如何進入adb安裝目錄

使用此命令之前,先確定你的電視已打開adb調試服務
如何打開請參考:TCL MS平台電視如何實現adb連接從而安裝第三方應用程序 需要用到的軟體
Windows下,選擇」開始」->運行->cmd,進入命令行模式;

進入adb的目錄,如adb在D盤adbtools文件夾中,則:

d:

cd adbtools

如果嫌麻煩,可以在adb目錄中右擊|在此處直接打開命令窗口

輸入adb後回車

如果有adb的信息出現,則說明連接adb成功。

如果沒有,則檢查adb的文件、路徑等是否完整正確。

Adb成功後查看你電視的IP,一般在系統設置|網路設置中

連接Android TV的IP,如IP為...,則輸入:

adb connect ...: 然後回車

如果出現connected to ...:,則說明連接成功。

如果沒有,則檢查板子的IP、網路等是否正常。

連接成功後

就可以安裝第三方app了。如安裝第三方app騰訊視頻(路徑為D:apk qqHD.apk)。

adb install "D:apkqqHD.apk "

若出現success,則成功安裝。

如果安裝過程中,出現錯誤,請查看第一句話,看自己是否符合,若不符合,再按步驟仔細排查一遍。

Ⅲ 如何用adb命令查看sd卡目錄下的隱藏文件

下面幾種方法都可以。1.用iso工具將虛擬機的sd卡文件打開,然後將東西放進去就好。2.使用ddms中的功能,將文件通過「push file to device」的方法放入到其中。3.通過命令行將文件放入其中。運行->cmd-》cd android sdk安裝目錄-》cd tools-》adb shell-》cd sdcard-》push 你的文件

Ⅳ 常用的adb命令

在平時的工作中,會經常用到adb命令,在這里稍微整理了一下。

一.概要

1.什麼是adb?

adb全稱為Android Debug Bridge,就是起到調試橋的作用。顧名思義,adb就是一個debug工具。

2.adb工作原理

不是很理解?那就來看看它的工作原理吧。

上圖是一個簡單的adb工作原理圖。adb客戶端伺服器端程序,由上圖可以看出它主要三個組件組成:Client,Server,Daemon。

(1)當你啟動一個adb Client(客戶端),Client首先會選確認是否已有一個adb

Server(伺服器)進程在運行,如果沒有,則會啟動Server進程。此時,adb Server就會綁定本地的TCP埠5037,並監聽adb

Client發來的命令。

(2)接著,Server將會掃描所有5555到5585范圍內的奇數埠來定位所有的模擬器或設備,並與之建立連接。一旦Server找到

了adb

daemon(守護程序),它將建立一個到該埠的連接,這樣,我們就可以使用adb命令控制和訪問模擬器或設備了。在這里,需注意的是任何模擬器或設備實例會取得兩個連續的埠:一個偶數埠用來相應控制台的連接,和一個奇數埠用來響應adb連接。

3.adb的作用

藉助adb工具,我們可以管理設備或手機模擬器的狀態,還可以進行很多手機操作,如安裝軟體、系統升級、運行shell命令等等。簡而言之,adb就是連接Android手機和PC端的橋梁,可以讓用戶在電腦上對手機進行全面的操作。

二.常用命令

這個部分主要介紹adb的使用方法和一些常用的命令。

設置adb環境:將android sdk工作目錄添加到系統環境變數中,則可使用adb命令了。

1. adb devices

查看當前連接的設備(連接計算機的Android設備或者模擬器)。

2.adb install

adb install <apk文件路徑>,將指定的apk安裝到設備上,安裝的apk包會放在/data/app目錄下。

幾個參數:

-r 強制安裝

-d(真機,多個設備中只有一個真機時適用)

-e(模擬器,多個設備中只有一個模擬器時適用)

-s(指定設備,後接序列號)

adb –s 44a188f9 install –r test.apk(其中44a188f9即序列號,通過adb devices可獲取)

3.adb uninstall

adb uninstall <apk包名>

adb uninstall –k <apk包名>

-k參數為卸載軟體時保留配置和緩存文件

4.adb reboot

重啟android設備

5.adb shell

通過adb shell 命令,就可以進入設備或者模擬器的shell環境了,在這個Linux shell中,我們就可以執行各種Linux命令了。

如果只想執行一條shell命令,就可以採用:adb shell [shell_command]

在實際使用中,經常與grep或findstr一起使用,起到過濾作用,查看自己需要的關鍵信息。

6.adb shell su

前提手機已經root。獲取adb shell的root許可權。

使用su提權,用戶命令提示符有$變成#,如果手機沒有root,會提示su:permission denied。

7.adb shell ps/top

查看當前終端中的進程信息,如pid等。

8.adb shell am/pm

am全稱為activity manager,可使用am命令模擬各種系統的行為,如去啟動一個activity,強制停止進程,發送廣播進程,修改設備屏幕屬性等。

如:adb shell am start <apk包名>/<activityName>:啟動一個activity。

pm全稱為package manager,利用pm命令可模擬android行為或查詢設備上的應用等。

如:adb shell pm list packages

列出當前設備所有已安裝的程序的包名。

說明:

管道符「|」:可以把標準的輸入流與標準的輸出流進行合並,或者把某個命令的標准輸出流作為另一個命令的標准輸入流。

exit退出shell。

由於grep為linux命令,運行單條adb shell 時並沒有進入linux

shell環境,並不能用grep等其他linux命令,只能用window cmd的命令。在這里可以用findstr來代替grep,使用方法為

findstr/grep [keyword]

更詳細的內容可查看 參考文獻3 和 參考文獻4 。

對於常用的linux命令和常用的windows 控制台命令,以後再作總結。

9.adb pull 和 adb push

adb pull <設備中的文件路徑> <本地路徑>:從模擬器或設備中復制文件到本地。

adb push <本地文件路徑> <設備中的路徑>:將本地文件或目錄復制到模擬器或設備。

這里還涉及到一個許可權的問題,在後續的博文中再作介紹。

10.adb shell mpsys

Android提供的mpsys工具用於查看感興趣的系統服務信息與狀態。

參考下表:

11.adb shell monkey

跑monkey是android自動化測試的一種手段,所謂monkey測試就是模擬用戶的按鍵輸入,觸摸屏輸入,手勢輸入等。當Monkey程序在模擬器或設備運行的時候,如果用戶比如點擊,觸摸,手勢或一些系統級別的事件的時候,它就會產生隨機脈沖,所以可以用Monkey的隨機重復的方法對apk作壓力測試,來測試android

app的穩定性。

如下為測試騰訊新聞apk的一個簡單實例:

說明:第一個-s指定設備,如果只連接了一台設備,可不用該參數。

-p <apk包名>只允許系統啟動指定的app,如果不指定,將允許系統啟動設備中的所有app,也可指定多個包。

--throttle <毫秒數> 指定用戶操作(事件)間的時延。

--ignore-crashes 指定當應用程序崩潰時,Monkey依然發送事件,直到事件計數完成。

--ignore-timeouts 當應用程序發生ANR錯誤時,Monkey依然會發送事件,直到事件計數完成。

第2個-s,用於指定偽隨機數生成器的seed值,如果seed相同,則兩次Monkey測試所產生的事件序列也相同的。

-v 用於指定反饋信息級別,總共分為level 0、level 1、level 2三個級別,級別越高,輸出的日誌越詳細。

最後的數字(這里是500):表示Monkey程序模擬500次隨機用戶操作事件。

>輸出測試結果到D:\monkeylog.txt

更詳細的參數可查看 參考文獻5 。

部分測試結果如下:

對於測試結果的分析,通過搜索關鍵詞來定位錯誤,主要包括以下四個方面:

1)ANR(Application Not

Response):程序無響應,一般主線程超過5秒沒處理就會出現ANR錯誤。通過搜索ANR關鍵詞來定位關鍵的事件信息。除了導出日誌外,還可以將/data/anr/目錄下的trace.txt文件導出,用來定位分析問題。使用>adb

pull /data/anr/trace.txt d:\ 將trace.txt文件導出到d盤。

2)ForceClosed或其他異常退出信息:通過搜索Fatal關鍵詞來定位。

3)崩潰問題:通過搜索Exception關鍵詞來定位。

4)發生異常後,通過搜索Crash關鍵詞來定位到詳細的堆棧信息。

 12.kill

kill用來中止一個進程。

比如我們在跑monkey的時候,怎麼強制關閉monkey呢,可以用kill <monkey進程PID>

說明:另開啟一個cmd,找到monkey的pid號,然後殺掉即可。

參考文獻:

1.Android調試橋: http://www.iteye.com/topic/260042

2.Android性能分析工具mpsys的使用: http://www.open-open.com/lib/view/open1405061994872.html

3.adb shell 中的am pm命令: http://www.android100.org/html/201312/09/4957.html

4.adb shell 啟動應用程序的方法: http://blog.chinaunix.net/uid-26997997-id-3350449.html

5.Monkey壓力測試詳解: http://blog.csdn.net/huangbiao86/article/details/8490743

Ⅳ 常用的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

Ⅵ 能用adb命令查看安卓手機根目錄么

可以慎悶直接通過adb訪問 / 根目錄:

adb shell 進入shell模式寬昌彎
su 切換到root用戶
cd / 即可進入根目錄
exit 退出root用戶
ll 即可列出根目錄的所有文件及文件夾迅凱。

Ⅶ adb 命令怎樣進入某一個文件夾

方法步驟如下:
1、首先打開計算機,在計算機內找到adb並使用滑鼠單擊打開。
2、輸入:【adb
shell】,此時應該顯示【Gemini:/$】,說明連接上了手機,目前處在【/】目錄下。
3、然後輸入命令:【su】,提權,提取到root許可權,顯示井號即可,否則有些目錄無法顯示,例如系統目錄,當然不想要修改的,也可以不提權。手機要root。
4、當前在根分區下,根據它的目錄信息,要進入到系統目錄,那麼輸入【cd
system】,那麼此時就進入到系統目錄了的。
5、例如要進入到sdcard目錄,則輸入命令:【cd
sdcard/】,那麼此時就可以進去了的。格式就是cd
+目錄絕對路徑,那麼即可進入到。

Ⅷ adb 操作命令集合

adb 工具即 Android Debug Bridge(安卓調試橋) tools。它就是空舉含一個命令行窗口,用於通過電腦端與模擬器或者真實設備交互。在某些特殊的情況下進入不了系統,adb 就派上用場啦!

源碼傳送地址

需要保證設備的 /system/build.prop 文件中有命令 service.adb.tcp.port=5555 ,否則會遭到拒絕。

其中的 option 也是比較有講究的,下面就只說最常用的。

其餘的不是很常用的就不多提了,感興趣的可以自行了解。

兩種情況,假設我們的應用 APP 包名是 com.example.application

其他的過濾方式和限定條件這里也不舉例了。

其中 <remote> 代表文件在設備中的地址,[local] 代表存放目錄。

當然可以像 Android Studio 一樣只列印固定的日答鉛志

adb logcat -b <Buffer>

其中有個非常好用斗笑的是,當你在新接觸一個項目的時候,不熟悉項目流程,此時正好可以用這個直接定位到你的 Activity 位置。

adb shell mpsys activity activities

如圖,直接在列印出來內容的後半段找到了當前 Activity 的定位,是 NewLoginActivity 。

結合前面的 pull 命令,就可以讓我們輕松拿到屏幕截圖。

這個還可以對大小 size 和 時間做限制,感興趣的可以自行了解。

閱讀全文

與adb命令目錄相關的資料

熱點內容
python入門經典pdf下載 瀏覽:13
東芝變頻2p空調壓縮機 瀏覽:223
自家wifi怎麼能加密 瀏覽:642
紅米k40加密門禁卡 瀏覽:845
什麼樣的源碼好看 瀏覽:156
手機主伺服器有什麼用 瀏覽:610
程序編寫命令 瀏覽:597
android發送心跳包 瀏覽:385
指標源碼和原理 瀏覽:700
汽車空調壓縮吸盤 瀏覽:208
崽崽因app版本不同不能邀請怎麼辦 瀏覽:686
poa演算法得到的解為全局最優解 瀏覽:926
python符號表達式 瀏覽:34
威馳壓縮機繼電器 瀏覽:871
華為手機怎麼設置移動數據app 瀏覽:959
空調壓縮機哪的廠家多 瀏覽:390
手指速演算法24加7怎麼算 瀏覽:139
如何用python寫vlookup函數 瀏覽:798
社保加密狗廠商 瀏覽:216
php編譯運行說法 瀏覽:957