Android adb调试应用程序

发布于:2025-03-22 ⋅ 阅读:(31) ⋅ 点赞:(0)

启动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}; do
    adb exec-out screencap -p > screenshot_$i.png
    sleep 2
done

screencrop和screenrecord的替代方案 - scrcpy

使用scrcpy截屏

$scrcpy --screenshot screenshot.png  #截屏并直接保存到pc

 使用scrcpy录制

$scrcpy --record screen.mp4