Android 14 screenrecord录制视频失败的原因分析

文章目录

      • [1. 权限问题](#1. 权限问题)
      • [2. 存储空间不足](#2. 存储空间不足)
      • [3. 命令被中断](#3. 命令被中断)
      • [4. 目标路径问题](#4. 目标路径问题)
      • [5. Android 14 的新限制](#5. Android 14 的新限制)
      • [6. 文件系统同步问题](#6. 文件系统同步问题)
      • [7. 录制失败](#7. 录制失败)
      • 检查步骤总结:

在 Android 14 系统上,使用 screenrecord 命令录制视频后,生成的文件大小为 0,可能的原因包括以下几点:

1. 权限问题

  • 问题描述screenrecord 需要有写入存储的权限。如果命令运行的用户(例如 adb shell 用户)没有足够的权限,文件可能无法正常写入。

  • 解决方法

    • 确保命令以具有足够权限的用户运行(如通过 adb root 切换到 root 用户)。
    • 检查目标路径是否有写权限:运行 ls -l /sdcard/ 查看权限。
    • 尝试将录制文件保存到 /data/local/tmp/ 路径,这是更安全的测试目录。
    bash 复制代码
    screenrecord --time-limit 60 /data/local/tmp/111.mp4

2. 存储空间不足

  • 问题描述:目标路径所在的分区可能没有足够的存储空间,导致文件无法完整写入。
  • 解决方法
    • 使用 df -h 检查 /sdcard 或目标存储位置的剩余空间。
    • 如果空间不足,清理存储后重试。

3. 命令被中断

  • 问题描述screenrecord 在录制期间被中断(例如,因设备锁屏、adb 连接断开、用户主动终止等)。
  • 解决方法
    • 确保录制期间设备保持解锁状态。
    • 保持 adb 连接稳定。

4. 目标路径问题

  • 问题描述/sdcard/111.mp4 路径可能有问题,例如 /sdcard 被重定向到一个不可写路径。
  • 解决方法
    • 使用 ls -l /sdcard/ 查看 /sdcard 是否指向正确路径。
    • 尝试将文件保存到明确的路径,例如 /storage/emulated/0/111.mp4

5. Android 14 的新限制

  • 问题描述 :Android 14 可能引入了新的权限或 API 限制,影响 screenrecord 的运行。
  • 解决方法
    • 确保设备已启用开发者选项,并允许 adb 调试。
    • 在 Android 14 上测试时,建议更新至最新的工具版本(例如,确保 adb 和 platform-tools 最新)。

6. 文件系统同步问题

  • 问题描述 :录制完成后,sync 命令可能没有及时刷新缓存,导致文件大小显示为 0。
  • 解决方法
    • 运行 sync 后,等待几秒后再查看文件。

    • 确认文件状态:

      bash 复制代码
      ls -lh /sdcard/111.mp4

7. 录制失败

  • 问题描述screenrecord 本身可能出错,没有实际开始录制。
  • 解决方法
    • 运行命令时加上 --verbose 参数,查看详细的输出日志:

      bash 复制代码
      screenrecord --time-limit 60 --verbose /sdcard/111.mp4
    • 检查日志中是否有错误提示。


检查步骤总结:

  1. 检查路径写权限和存储空间。
  2. 确保命令运行期间设备状态正常(解锁、连接稳定)。
  3. 测试使用其他路径或短时录制,例如 10 秒。
  4. 查看日志输出定位问题。

结束语

Flutter是一个由Google开发的开源UI工具包,它可以让您在不同平台上创建高质量、美观的应用程序,而无需编写大量平台特定的代码。我将学习和深入研究Flutter的方方面面。从基础知识到高级技巧,从UI设计到性能优化,欢饮关注一起讨论学习,共同进入Flutter的精彩世界!

相关推荐
_祝你今天愉快1 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl1 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
麦田里的守望者江2 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin
Dnelic-2 小时前
解决 Android 单元测试 No tests found for given includes:
android·junit·单元测试·问题记录·自学笔记
佛系小嘟嘟2 小时前
Android Studio不显示需要的tag日志解决办法《All logs entries are hidden by the filter》
android·ide·android studio
mariokkm2 小时前
Django一分钟:django中收集关联对象关联数据的方法
android·django·sqlite
长亭外的少年3 小时前
如何查看 Android 项目的依赖结构树
android
深海呐5 小时前
Android 从本地选择视频,用APP播放或进行其他处理
android·音视频·从本地选择视频,用app播放·从本地选择视频,并拿到信息·跳转到本地视频列表
深海呐5 小时前
Android Google登录接入
android·google登录接入·android 谷歌登录接入·google登录·android google
daiyang123...5 小时前
MySQL【知识改变命运】11
android·数据库·mysql