当前位置: 首页 > news >正文

Android adb调试应用程序

启动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

相关文章:

  • 【时时三省】(C语言基础)习题2 scanf函数
  • 在Springboot中集成unihttp后应用无法启动的解决办法
  • IoTDB TTL不生效
  • 3月21日星期五今日早报简报微语报早读
  • 精密校平机:工业制造的精度之源
  • mac上安装nvm及nvm的基本语法使用!!
  • 安装CentOS7
  • 在Linux系统安装Ollama两种方法:自动安装和手动安装,并配置自启动服务
  • 卡特兰数在数据结构上面的运用
  • 阿里云服务器部署 五 Nginx + springboot
  • 使用Systemd管理ES服务进程
  • Python实验:Python语言分支循环结构应用
  • 未来科幻赛博朋克风品牌电影游戏设计装饰英文字体安装包 Heat Robox – The Ultimate Futuristic Display Font
  • Android java 设计封装增强型WebView组件
  • HTTPS 加密过程详解
  • 关于Unity的CanvasRenderer报错
  • spring-tx笔记
  • 关于多目标进化算法评估指标
  • 可编辑52页PPT | 智慧园区安全生产顶层设计方案
  • 在C语言基础上学Java【Java】【二】
  • 2025上海十大动漫IP评选活动启动
  • 巴总理召开国家指挥当局紧急会议
  • 五粮液董事长:茅台1935已脱离千元价位带,五粮液在千元价位已逐步摆脱其他竞品纠缠
  • 中国象棋协会坚决支持司法机关依法打击涉象棋行业的违法行为
  • 欧洲史上最严重停电事故敲响警钟:能源转型如何保证电网稳定?
  • 中国以优化营商环境为支点,为全球企业提供可预期市场环境