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"
的應用
# 殺掉app
# 解除安裝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 等待啟動完成
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