1. 程式人生 > 實用技巧 >CF641E Little Artem and Time Machine(時間離散化+平衡樹套樹狀陣列)

CF641E Little Artem and Time Machine(時間離散化+平衡樹套樹狀陣列)

ADB簡介:

ADB,即 Android Debug Bridge,它是 Android 開發/測試人員不可替代的強大工具,也是 Android 裝置玩家的好玩具。安卓除錯橋 (Android Debug Bridge, adb),是一種可以用來操作手機裝置或模擬器的命令列工具。它存在於 sdk/platform-tools 目錄下。雖然現在 Android Studio 已經將大部分 ADB 命令以圖形化的形式實現了,但是瞭解一下還是有必要的。
注: 有部分命令的支援情況可能與 Android 系統版本及定製 ROM 的實現有關,在android裝置開發者模式下開啟USB除錯。

命令: 

# 啟動adb服務
 adb start-server

# 停止adb服務
 adb kill-server

# 指定啟動服務埠號
 adb -P 8090 start-server

# 檢視當前連線裝置
adb devices
  狀態:offline 表示裝置未連線成功或者無響應
device 表示裝置連線成功
      no device 沒有裝置

# 當前連線多個裝置,指定裝置操作
adb -s 裝置號 命令

# 通過TCP/IP連線埠號5555 無線連線保證裝置與電腦在同一個網路wifi
 adb tcpip 5555
  
# 通過IP無線連線,保證裝置與電腦在同一個網路wifi adb connect ip # ip在裝置上-關於手機-狀態資訊-ip地址中 連線有問題,可以重啟下adb服務在進行連線
# adb安裝apk包
  adb install path_apk
    引數:
      -r 覆蓋安裝
      -d 允許降級覆蓋安裝
      -g 授予所有執行時許可權
      -s 將應用安裝到sdcard
      -l 將應用安裝到保護目錄 /mnt/asec
      -t 允許安裝AndroidManifest.xml 裡 application 指定android:testOnly="true"的應用

# 解除安裝apk包
adb uninstall 包名

# 寫在apk包,但保留資料
adb uninstall -k 包名

# 獲取所有已安裝的包
adb shell pm list packages

# 清空指定應用資料
adb shell pm clear package

# 複製檔案到電腦
 adb pull 檔案路徑 電腦路徑

# 複製檔案到手機上
 adb push 電腦檔案路徑 裝置目錄
  
# 啟動app
adb shell am start -W package/activite # -W 等待啟動完成
 # 殺掉app

  adb shell am kill package # 前臺執行時無法殺掉app

  adb shell am force-stop package # 強制殺掉app程序

adb shell am restart

# 截圖

  adb exec-out screencap -p > 電腦路徑/檔名 #直接儲存到電腦

  adb shell screencap /sdcard/screen.png # 儲存到手機裡

# 錄製視訊

  adb shell screenrecord /sdcard/android.mp4

  引數:

    --size 1080x720 設定視訊的尺寸

    --bit-rate TATE 視訊的位元率,預設4Mbps

    --time-limit TIME 錄製時長,單位秒,預設是180秒。

    --verbose 輸出更多資訊

# 獲取手機解析度

  adb shell wm size

# 獲取手機系統版本

  adb shell getprop ro.build.version.release

# 獲取手機系統api版本

  adb shell getprop ro.build.version.sdk

# 獲取手機裝置名稱

  adb -d shell getprop ro.product.model

# 獲取手機廠商名稱

  adb -d shell getprop ro.product.brand

# 獲取手機裝置號

  adb get-serialno

# 獲取手機電量

  adb shell dumpsys battery

   scale 代表最大點亮

    level 代表當前點亮

# 獲取手機ip地址

  adb shell ifconfig | grep Mask

# 獲取cpu資訊

  adb shell cat /proc/cpuinfo

# 獲取記憶體資訊

adb shell cat /proc/meminfo

# 模擬按鍵操作

  adb shell input keyevent <keycode>

keycode含義
3 HOME 鍵
4 返回鍵
5 開啟撥號應用
6 結束通話電話
24 增加音量
25 降低音量
26 電源鍵
27 拍照(需要在相機應用裡)
64 開啟瀏覽器
82 選單鍵
85 播放/暫停
86 停止播放
87 播放下一首
88 播放上一首
122 移動游標到行首或列表頂部
123 移動游標到行末或列表底部
126 恢復播放
127 暫停播放
164 靜音
176 開啟系統設定
187 切換應用
207 開啟聯絡人
208 開啟日曆
209 開啟音樂
210 開啟計算器
220 降低螢幕亮度
221 提高螢幕亮度
223 系統休眠
224 點亮螢幕
231 開啟語音助手
276 如果沒有 wakelock 則讓系統休眠

 

  


























































# adb shell input tap x座標 y座標

# adb shell input swipe x1 y1 x2 y2 滑動事件

# 檢視日誌

  adb logcat

參考資料:https://www.wanandroid.com/blog/show/2310