adb常用命令食用方法

shengtudai發表於2020-05-23

一、什麼是adb?

adb是Android Debug Bridge的縮寫,即安卓除錯橋;那什麼是安卓除錯橋?簡單來說,就是一個通用命令列工具,允許計算機與模擬器或連線的安卓裝置之間進行通訊,提供各種便利。

adb是一個客戶端-伺服器程式,包括三個元件:

客戶端:在計算機上執行。在終端通過命令列呼叫adb
後臺程式:在模擬器或安卓裝置上作為後臺程式運,在裝置上執行命令
伺服器:伺服器在計算機上作為後臺程式執行,管理客戶端和後臺程式之間的通訊

官方參考資料:https://developer.android.google.cn/studio/command-line/adb.html


二、adb工具下載

倉庫備份有windows 64位的adb工具,版本 Android Debug Bridge version 1.0.41

倉庫連結:https://gitee.com/shengtudai/adb.git  其它版本自行百度

 

三、執行adb

解壓工具包,在終端通過命令列呼叫adb工具,如解壓路徑為C:\adb

用cd命令進入目錄

cd C:/adb

 在裝置的開發者選項裡開啟usb除錯開關,或進入Recovery,再連線計算機,輸入如下命令查詢裝置

adb devices

 若輸出List of devices attached,則識別到裝置

 

四、adb常用命令及功能

  1.安裝軟體 

adb  install  -r  path_to_apk 

     注:-r 為強制替換原來軟體

  2.解除安裝軟體

adb uninstall -k --user 0 com.tencent.mm // com.tencent.mm 就是微信的安裝包名

    注:解除安裝軟體需要通過包名解除安裝;-k為解除安裝但保留資料,一般不加; --user 指定使用者 id,Android 系統支援多個使用者,預設使用者只有一個,id=0。該命令可免root解除安裝系統預裝軟體

  3.獲取應用包名

  上面講到,解除安裝軟體需要通過包名解除安裝,如何獲取包名呢?

  ①.列出所有包名,找到最像的那個

adb shell
pm list packages

    

  ②.在裝置上開啟需要獲取包名的軟體,保持在前臺執行,輸入如下命令

dumpsys window | grep mCurrentFocus

 

  這裡 window{ } 中就是這個介面的包名類名,包名就是:com.tencent.mm

    4.截圖和錄屏

adb shell screencap /sdcard/screen.png

adb shell    在裝置執行指令碼命令

screencap   截圖命令

/sdcard/screen.png  截圖儲存路徑

 

adb shell screenrecord --size 1920x1080 --time-limit 100 /sdcard/demo.mp4

adb shell    在裝置執行指令碼命令

screenrecord    錄製視訊命令

--size 1920x1080   widthxheight 設定視訊大小

--time-limit 100      設定最大錄製時長(以秒為單位)。預設值和最大值均為 1803 分鐘)。

按 Control + C 停止螢幕錄製

注:

screenrecord 選項說明

--help顯示命令語法和選項

--size widthxheight設定視訊大小:1280x720。預設值是裝置的原生顯示解析度(如果支援),如果不支援,則使用 1280x720。為實現最佳結果,請使用裝置的 Advanced Video Coding (AVC) 編碼器支援的大小。

--bit-rate rate設定視訊的視訊位元率(以兆位元每秒為單位)。預設值為 4Mbps。您可以增加位元率以提升視訊質量,但這麼做會導致影片檔案變得更大。以下示例將錄製位元率設為 6Mbps:screenrecord --bit-rate 6000000 /sdcard/demo.mp4

--time-limit time設定最大錄製時長(以秒為單位)。預設值和最大值均為 180(3 分鐘)。

--rotate將輸出旋轉 90 度。此功能是實驗性的。

--verbose顯示命令列螢幕上的日誌資訊。如果您不設定此選項,則執行時此實用程式不會顯示任何資訊。

  5.將檔案複製到裝置/從裝置複製檔案

    要從模擬器或裝置複製檔案或目錄

adb pull  remote  local

     要將檔案檔案或目錄(及其子目錄)複製模擬器或裝置

adb push  local  remote

  :local 和 remote 指的是開發計算機(本地)和模擬器/裝置例項(遠端)上目標檔案/目錄的路徑