啟動app
有的時候app不是預先安裝的,也不能從界面start一個app,這時需要后臺拉起app。
$adb shell am start package.name/Activity.name
例如,android原生camera app, 包名為com.android.camera2, mainActivity名為com.android.camera.CameraActivity。手動拉起命令行輸入:
adb shell am start com.android.camera2/com.android.camera.CameraActivity
關閉app
$adb shell am force-stop package.name
?例如,關閉原生相機:
$adb shell am force-stop com.android.camera2
錄制屏幕
在Android開發或者調試中,使用ADB(Android Debug Bridge)錄制屏幕是一種高效的方式,無需依賴第三方應用。
需要注意:錄制格式為MP4, 編碼未H.264/AAC。錄制的內容中無有效音頻數據,即adb screenrecord不支持錄制系統音頻,需要通過其他方式捕獲。
基本錄屏命令
$adb shell screenrecord /sdcard/demo.mp4
錄制內容保存在設備/sdcard/demo.mp4,ctrl+c 終止錄制。
常用的錄參數選項
1.設置錄制時長(單位:秒)
$adb shell screenrecord --time-limit 30 /sdcard/demo.mp4
默認最長180秒(3分鐘)。
?2.指定分辨率
$adb shell screenrecord --size 1280x720 /sdcard/demo.mp4
?設置的分辨率需要是設備支持的分辨率,盡量使用標準分辯率(如1920x1080, 1280x720)。
3.設置比特率
$adb shell screenrecord --bit-rate 8000000 /sdcard/demo.mp4
比特率越高畫質越好,但文件越大(單位:bps, 例如 8000000 = 8Mbps)。
?4.顯示觸摸操作
$adb shell screenrecord --show-touches /sdcard/demo.mp4
?這個錄制參數,用于顯示用戶觸摸軌跡。
5.豎屏模式修復
$adb shell screenrecord --verbose --rotate /sdcard/demo.mp4
部分設備豎屏錄制后視頻旋轉,此參數可修正方向。?
截屏
基本截屏命令
$adb shell screencap /sdcard/screenshot.png
截圖保存在設備的/sdcard/screenshot.png。可以通過adb pull將截圖拉取到pc查看。
直接截屏并保存到pc (無需暫存設備)
$adb exec-out screencap -p > screenshot.png
-p:表示輸出為PNG格式(也是默認格式)。
若在Windows上執行,需要使用PowerShell或Git Bash(避免換行符問題)。若截圖損壞,嘗試使用adb shell screencap -p | sed 's/\r$//' > screenshot.png? ?(Linux/macOS)。
常用截屏參數
1.指定截圖格式
$adb shell screencap -p /sdcard/screenshot.jpeg
默認格式為PNG,部分設備可能支持其他格式(具體需要測試),一些設備支持直接保存為JPG。
2.自動時間戳命名
$adb shell screencap /sdcard/screenshot_$(data +%Y%m%d_%H%M%S).png
3.截取特定屏幕區域(需要Root)
$adb shell screencap --crop 100,200-500,800 /sdcard/cropped.png
--crop:設置截取區域(左上角x,左上角y-右下角x,右下角y)。
注意:并不是所有設備都支持截圖區域設置,需要看設備能力。
4.使用實例
for i in {1..5}; doadb exec-out screencap -p > screenshot_$i.pngsleep 2
done
screencrop和screenrecord的替代方案 - scrcpy
使用scrcpy截屏
$scrcpy --screenshot screenshot.png #截屏并直接保存到pc
?使用scrcpy錄制
$scrcpy --record screen.mp4