学习笔记
Java基础相关
JVM内存模型及线程空间
动态代理
java并发编程
Java中Future
移动端相关
杂乱整理
HarmonyOS 鸿蒙开发知识
ArkTS中如何自定义组件和复用统一样式
开发工具相关
Git cmd学习整理
Markdown用法大全集
【2023年12月】工作常用
Git如何单独合并某次提交到另一个分支
前端开发相关
Node+TypeScript相关记录
TypeScript 读写 MariaDB
Node TypeScript项目 token生成、管理及拦截校验的实现
TypeScript+Express创建和实现一个服务示例
Express接口处理器抽取注册方式
Express 实现 RESTful API
创建 TypeScript Express 项目,并配置直接用 npm start 运行
TypeScript + Express 实现文件下载接口
export 和 export default的区别
TypeScript+Express 实现用户注册和登录接口
TypeScript 和 JavaScript 中,`===` 和 `==`
CSS中的尺寸大小标准
小程序px和rpx
使用Python快速处理Excel的合并拆分
读书写作相关
一些句子01
李敖语录
罗翔老师的一些经典语句
周易相关知识
周易是对自然描述还是为自然立法
40句落寞诗词,穿透柔魂弱魄
杂玩整理
黑苹果睿频问题
基于纯Linux自己部署Nas构思
Ubuntu换源
Ubuntu挂载tf卡
Ubuntu运行Docker报错
Ubuntu安装运行Docker报错处理
官方镜像安装Docker
Docker 设置root dir 切换数据到其他存储位置
systemctl stop docker 报错
NextCloud安装ffmpeg 显示视频缩略图
Docker源不生效解决方式
Docker源不生效解决方式II——搭建docker-hub镜像
搞定群晖总Docker部署gitea启用ssh协议
MacOS一键安装命令软件列表
群晖ssl证书目录
Android通过ADB命令播放视频
Java基础知识
精选网站
有声主播知识
学习笔记
有声主播入门到进阶
有声主播新手的入门练手内容推荐
DeepSeek分析喜马拉雅旗下 喜播平台 的有声主播培训
录书设备资料1
典故专辑资料整理
0B. 脚本和大纲
01. 柳赠别——灞桥烟雨中的离愁
0A. 前置准备资料
Ai大数据模型
模型整理
使用 DeepSeek 通用公式
学会这8招,让DeepSeek变得超好用!
大数据购物分析选优
Windows和Ubuntu部署DeepSeek性能差距
本地部署 Ollam+DeepSeek 探索爬坑
模型对比测试
AI模型使用心得
小说创作需求说明书
-
+
首页
Android通过ADB命令播放视频
针对通过ADB命令播放视频报错的问题,以下是逐步排查和解决方案: --- ### **1. 检查文件路径是否正确** 命令中 `file:///download/123.mp4` 可能路径不完整或与实际路径不符: - **标准视频存储路径**通常为 `/sdcard/Download/123.mp4` 或 `/storage/emulated/0/Download/123.mp4`。 - 使用 `adb shell ls` 确认文件路径是否存在: ```bash adb shell ls /sdcard/Download/123.mp4 ``` **修改命令中的路径**(假设实际路径为 `/sdcard/Download/123.mp4`): ```bash adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/123.mp4 -t video/mp4 ``` --- ### **2. 指定视频播放器组件** 手动播放时系统弹出“选择应用”对话框,但ADB默认无交互界面,需强制指定播放器的包名和Activity。 **操作步骤**: 1. **列出所有支持视频播放的应用**: ```bash adb shell pm query-intent-actions -a android.intent.action.VIEW -d file:///sdcard/Download/123.mp4 -t video/mp4 ``` 2. **获取播放器的包名和主Activity**(以系统默认播放器为例): ```bash adb shell dumpsys package | grep -B 10 "android.intent.action.VIEW" | grep -B 10 "video/mp4" ``` 输出示例如:`com.android.gallery3d/com.android.gallery3d.app.MovieActivity` 3. **强制使用该组件播放**: ```bash adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/123.mp4 -t video/mp4 -n com.android.gallery3d/com.android.gallery3d.app.MovieActivity ``` --- ### **3. 处理权限问题** Android 10+ 对文件访问有严格限制,`file://` 可能失效,需添加 `--grant-read-uri-permission` 标志: ```bash adb shell am start -a android.intent.action.VIEW -d file:///sdcard/Download/123.mp4 -t video/mp4 --grant-read-uri-permission ``` --- ### **4. 使用 `content://` URI (限高版本Android)** 若应用强制使用 `content://`(需设备支持 `FileProvider`),需通过ADB模拟文件选择: ```bash adb shell am start -a android.intent.action.VIEW -t video/mp4 -d content://media/external/video/media/123 ``` (需替换实际媒体库ID) --- ### **5. 使用 `monkey` 辅助测试** 通过模拟点击事件(限已安装的可操作播放器): ```bash adb shell monkey -p com.android.gallery3d -c android.intent.category.LAUNCHER 1 ``` --- ### **示例完整命令** ```bash adb shell am start -n com.android.gallery3d/com.android.gallery3d.app.MovieActivity -a android.intent.action.VIEW -t video/mp4 -d file:///sdcard/Download/123.mp4 --grant-read-uri-permission ``` --- ### **补充说明** 1. **文件访问限制**:部分第三方播放器(如VLC、MX Player)可能需要专用URI格式,建议优先使用系统默认播放器测试。 2. **低权限环境**:若设备未Root,需确保ADB已授权且应用具备存储权限。 3. **日志分析**:通过 `adb logcat | grep 'ActivityManager'` 查看报错详情。 --- 通过上述方法可定位是否为路径、权限或组件问题。推荐优先级:**修正路径 → 指定播放器组件 → 添加权限标志**。
嘿手大叔
2025年4月30日 19:06
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码