1. 程式人生 > 實用技巧 >Adb命令操作

Adb命令操作

目錄

簡介

基礎常用命令

adb幫助文件翻譯

簡介

  adb的一些基礎命令和幫助文件的操作,adb目前一些操作命令是基礎小白無法使用以及現在沒有什麼用的操作【比如廣播,現在手機這個功能都被限制了,簡訊廣播和電話廣播,都只能通過資料庫實現】

基礎常用命令

  adb version                   檢視adb的版本,但是我們一般用於檢視adb的環境是否搭建完成。

  adb help                     檢視adb的幫助檔案,如果忘記操作命令可以使用,下面有一些這些內容的翻譯

  adb logcat                     檢視全部日誌

  adb logcat > d:\test.txt               將日誌資訊儲存在d盤的test.txt檔案中,不要考慮放在c盤,會有許可權問題

  adb logcat -s 檔名                根據檔名查詢日誌

  adb logcat -c                   清楚舊日誌

  adb shell                     進入adb編輯環境

  adb install 檔名.apk-r              覆蓋安裝,保留資料和快取檔案

  adb uninstall -k <檔案安裝的包名>          刪除軟體

  adb shell dumpsys package <包名>    檢視app相關所有資訊,包括action,codepath,version,需要的許可權等等資訊

  adb shell pm path <包名>        檢視app的路徑,如adb shell pm path com.vphone.helper

  adb shell dumpsys package <package_name>     除了檢視apk的版本資訊,還有別的資訊

  adb shell dumpsys window | findstr mCurrentFocus  檢視當前執行的包名和Activity

  adb shell pm path <PACKAGE>      輸出安裝包的APK路徑

  adb shell pm clear <PACKAGE>      刪除與包相關的所有資料:清除資料和快取

  adb shell am start -W<package_name>/.<activity_class_name>  獲得應用的啟動時間,可以很方便地獲取應用的啟動時間

  檔案

  adb push <local>...<remote>        拷貝檔案/目錄到裝置

  adb pull [-a] <remote>...<local>       從裝置拷貝檔案/目錄,-a引數保留了檔案的時間戳和模式

adb shell ls [-al]              列出目錄下的檔案和資料夾,可選引數-al可檢視檔案和資料夾的詳細資訊

adb shell cd <folder>            進入資料夾

adb shell cat <filename>          檢視檔案

adb shell rename path/oldfilename path/newfilename      重新命名檔案

adb shell rm path/filename -r 可選引數用於刪除資料夾及下面的所有檔案 eg:adb shell rm -r <folder>      刪除檔案/資料夾

adb shell mv path/filename newpath/filename        移動檔案

adb shell cp file newpath/file1        拷貝檔案

adb shell mkdir path/folder          建立目錄

adb shell chmod 777 filename        設定檔案最高讀寫許可權

總結一下 adb shell後面的命令大部分都是cmd直接自帶的命令

幫助文件翻譯

名稱:adb幫助檔案
版本:Android除錯橋版本1.0.36
翻譯:lin

命令
-a    -指示adb監聽連線的所有介面
-d    -將命令定向到唯一連線的USB裝置,如果存在多個USB裝置,則返回錯誤。
-e    -將命令定向到唯一正在執行的虛擬機器。如果有多個模擬器正在執行,則返回錯誤。
-s<specific device>    -將命令定向到具有給定序列號或限定符。覆蓋安卓序列號環境變數。
-p<product name or path>    等待-簡單的產品名稱,如“sooner”,或產品的相對/絕對路徑輸出目錄如“out/target/product/easer”。如果未指定-p,則Android產品使用了環境變數,它必須做一條絕對的道路。
-H    -adb伺服器主機的名稱(預設:localhost)
-P    -adb伺服器的埠(預設值:5037)
devices[-l]    -列出所有連線的裝置('-l'還將列出裝置限定符)
connect<host>[:<port>]    -通過TCP/IP連線到裝置,如果未指定埠號,則預設使用埠5555。
disconnect[<host>[:<port>]]    -從TCP/IP裝置斷開連線。如果未指定埠號,則預設使用埠5555。不使用其他引數使用此命令將從所有連線的TCP/IP裝置斷開連線。

裝置命令:
adb push<local>。。。<遠端>    -將檔案/目錄複製到裝置
adb pull[-a]<遠端>。。。<本地>    -從裝置複製檔案/目錄(-a保留檔案時間戳和模式)
adb sync[<directory>]    -僅當更改時複製主機->裝置(-l表示列表,但不復制)
adb shell[-e escape][-n][-Tt][-x][命令]    -執行遠端shell命令(如果沒有命令,則為互動式shell)
(-e:選擇轉義符或“無”;預設值為“~”)
(-n:不從stdin讀取)
(-T:禁用PTY分配)
(-t:強制PTY分配)
(-x:禁用遠端退出程式碼和stdout/stderr分離)
adb emu<command>    -執行模擬器控制檯命令
adb logcat[<filter spec>]    -檢視裝置日誌
adb jdwp    -列出託管jdwp傳輸的程序的pid
adb install[-lrtsdg]<file>    -將此程式包檔案推送到裝置並安裝
(-l:正向鎖定應用)
(-r:替換現有應用程式)
(-t:允許測試包)
(-s:在SD卡上安裝應用程式)
(-d:允許版本程式碼降級(僅限可除錯的包))
(-g:授予所有執行時許可權)

adb install-multiple[-lrtsdpg]<file…>    -將此程式包檔案推送到裝置並安裝
(-l:正向鎖定應用)
(-r:替換現有應用程式)
(-t:允許測試包)
(-s:在SD卡上安裝應用程式)
(-d:允許版本程式碼降級(僅限可除錯的包))
(-p:部分應用程式安裝)
(-g:授予所有執行時許可權)

adb uninstall[-k]<package>    -從裝置中刪除此應用程式包('-k'表示保留資料和快取目錄)
adb bugreport[<path>]    -返回裝置中應包含在壓縮錯誤報告中的所有資訊。
如果<path>是一個檔案,則錯誤報告將另存為該檔案。
如果<path>是一個目錄,則錯誤報告將以裝置提供的名稱儲存在該目錄中。
如果省略<path>,錯誤報告將以裝置提供的名稱儲存在當前目錄中。
注意:如果裝置不支援壓縮錯誤報告,則錯誤報告將在stdout上輸出。

adb backup[-f<file>][-apk |-noapk][-obb |-noob][-shared-noshared][-all][-system |-nosystem][<packages…>]
-將裝置資料的存檔寫入<file>。
如果沒有提供-f選項,則寫入資料
收件人“備份.ab“在當前目錄中。
(-apk |-noapk啟用/禁用.apk本身的備份在存檔中;預設值為noapk。)
(-obb |-noob啟用/禁用任何已安裝的apk擴充套件的備份
(aka.obb)與每個應用程式關聯的檔案;預設值是noapk。)
(-shared-noshared啟用/禁用裝置的備份共享儲存/SD卡內容;預設為noshared。)
(--all備份所有已安裝應用程式的所有方法)
(-system-nosystem切換-all是否自動包含系統應用程式;預設為包括系統應用程式)
(<packages…>是要備份的應用程式列表。如果傳遞-all或-shared標誌,然後傳遞包列表是可選    的。上顯式給出的應用程式即使-nosystem也會包含命令列通常會導致省略。)
adb restore<file>    -從備份檔案還原裝置內容
adb disable verity    -在USERDEBUG版本上禁用dm verity檢查
adb enable verity    -在USERDEBUG版本上重新啟用dm verity檢查
adb keygen<file>    -生成adb公鑰/私鑰。私鑰儲存在<file>中,公鑰儲存在檔案為.pub字尾檔案中。
adb help    -顯示此幫助訊息
adb version    -顯示版本號

 

指令碼編寫:

adb wait-for[-<transport>]-<state>    -等待裝置處於給定狀態:裝置、恢復、側載或引導載入程式
transport(傳輸方式):usb、本地或任何[預設值=任意]
adb start-server    -確保有一個伺服器正在執行
adb kill-server    -如果伺服器正在執行,則終止它
adb get-state    -列印:離線|引導載入程式|裝置
adb get-serialno    -列印:<serial number>
adb get-devpath    -列印:<device path>
adb remount    -以讀寫方式重新裝載裝置上的/system、/vendor(如果存在)和/oem(如果存在)分割槽
adb reboot [bootloader|recovery]    -重新引導裝置,也可以選擇進入引導載入程式或恢復程式。
adb reboot sideload    -在恢復程式中將裝置重新引導到sideload模式(需要adb root)。
adb reboot sideload-auto-reboot    -重新引導到側載模式,然後在側載之後自動重新引導,而不管結果如何。
adb sideload<file>    -側載給定的包
adb root    -使用root許可權重新啟動adbd守護程式
adb unroot    -在沒有root許可權的情況下重新啟動adbd守護程式
adb usb    -重新啟動監聽usb的adbd守護程序
adb tcpip<port>    -在指定的埠上重新啟動偵聽TCP的adbd守護程式


實驗錯誤
adb forward系列;
adb reverse系列;