学习笔记
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命令播放视频
[完成] 群晖自动更新https证书项目
Java基础知识
精选网站
有声主播知识
学习笔记
有声主播入门到进阶
有声主播新手的入门练手内容推荐
DeepSeek分析喜马拉雅旗下 喜播平台 的有声主播培训
录书设备资料1
典故专辑资料整理
0B. 脚本和大纲
0A. 前置准备资料
Ai大数据模型
模型整理
使用 DeepSeek 通用公式
学会这8招,让DeepSeek变得超好用!
大数据购物分析选优
Windows和Ubuntu部署DeepSeek性能差距
本地部署 Ollam+DeepSeek 探索爬坑
模型对比测试
AI模型使用心得
临时
-
+
home page
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'` 查看报错详情。 --- 通过上述方法可定位是否为路径、权限或组件问题。推荐优先级:**修正路径 → 指定播放器组件 → 添加权限标志**。
嘿手大叔
April 30, 2025, 7:06 p.m.
转发文档
Collection documents
Last
Next
手机扫码
Copy link
手机扫一扫转发分享
Copy link
Markdown文件
share
link
type
password
Update password