1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | media3-cast-integration-android-skills |
| 作者/维护者 | Google LLC |
| 来源链接 | https://github.com/android/skills/tree/main/media/media3-cast-integration |
| 许可证 | Apache License 2.0(数据来自 GitHub API) |
| GitHub Stars | 所属合集仓库 android/skills 整体 7,321(数据来自 GitHub API;该数字属整个合集,不代表本技能自身热度) |
| Forks | 476(同上,属合集整体数字) |
| 最新版本 | SKILL.md 标注 last-updated 2026-08-14,对应目录最近一次内容提交 2026-08-24 |
| 安装方式 | Android CLI 一条命令,或手动复制目录到 Agent 技能目录 |
2. 功能介绍与亮点
- 指导在 Android 应用中用 Jetpack Media3 Cast 实现 Google Cast 投屏支持,覆盖添加构建依赖、更新 Manifest、配置
OptionsProvider、以及在MediaSessionService中管理CastPlayer/RemoteCastPlayer的完整流程。 - 明确区分新集成与从旧版 Cast SDK 迁移两条路径:旧版 Google Cast SDK 已进入维护模式,正文逐条列出迁移步骤中“哪些旧文件先别删、哪些依赖先加后删”的顺序约束,避免迁移过程中出现编译中断。
- 同时覆盖 Compose 与传统 View 两套 UI 方案:Compose 侧给出
MediaRouteButtoncomposable 与设备信息变化时的重组代码模式(含key()约束避免黑屏问题);View 侧给出CastButtonFactory→MediaRouteButtonFactory的替换指引与播放器重绑定的注意事项。 - 内置一份术语表(
CastPlayer/RemoteCastPlayer/OptionsProvider等)与架构基线判断(本地播放 vs 旧版 Cast 架构),帮助 Agent 先识别项目当前所处状态再决定后续步骤。 - 正文用 MUST/DON’T 强约束列表逐条列出每一步的验收标准,而非泛泛描述,降低 Agent 生成代码时的自由发挥空间。
3. 适用场景
所属固定分类:工程效率与代码质量——该技能教的是在 Android 客户端代码中集成/迁移 Jetpack Media3 Cast SDK 的编码流程(依赖管理、Manifest 配置、播放器架构改造),属技术栈/SDK 编码指南;--neighbors 检索未给出有效同类信号(命中集中在“凭据”类无关项),故按同仓库姊妹技能 restore-credentials-android-skills、verified-email-android-skills 的既有分类判定保持体系一致。
适用人群:已有或计划开发媒体播放功能(视频/音频类 App)、需要新增或从旧版 Cast SDK 迁移到 Media3 Cast 投屏能力的 Android 开发者;要求项目 Jetpack Media3 版本 ≥ 1.9.0。
4. 跨 Agent 兼容性
- Claude Code:⚠️ 需适配。技能目录本身是标准 SKILL.md + YAML frontmatter + references 结构,遵循开放的 Agent Skills 规范,可手动复制到
.claude/skills/使用;但官方 Android CLI 安装器默认只为 Gemini 与 Antigravity 生成技能目录,不会自动识别 Claude Code。 - Codex:⚠️ 需适配,理由同上——技能内容本身与 Agent 无关(纯 Markdown + Kotlin 代码示例),但需手动放置或显式指定安装目标。
- OpenClaw:❓ 未验证。
- Hermes Agent:❓ 未验证。
判断依据:核对 android/skills 仓库 README「Install Android skills」章节,其官方安装命令 android skills add <skill> --project=. 明确写明“若未指定 --agent 且未检测到现有 Agent 目录,默认为 Gemini 与 Antigravity 安装”,未将 Claude Code / Codex 列入默认安装目标。
5. 推荐理由
Google 官方把“给 App 加 Cast 投屏”与“从旧版 Cast SDK 迁移到 Media3”这两件几乎所有媒体类 App 迟早都要处理的工作,沉淀成一套带明确验收标准、覆盖 Compose 与 View 两套技术栈的标准实现方案,能显著减少开发者在架构选型与迁移顺序上踩坑的成本。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | Google LLC 官方出品(Android 平台所有者本身);所属合集仓库整体 7,321★ 不代表本技能自身热度,子技能自身除底层 Media3/Google Cast 功能的官方文档外,暂无独立于合集之外的第三方讨论证据 |
| 可用性 | 7 | 步骤清晰、含完整架构说明与 Compose/View 双方案代码示例,2026-08-24 仍有内容更新;但涉及依赖管理、Manifest 配置、播放器服务改造与新旧代码共存期的顺序约束,非一次性复制即用,需要多步骤配置 |
| 安全性 | 9 | 纯文档/代码指南类技能,本身不执行 shell 命令、不联网外发数据;License 明确、官方维护、无夹带私货或可疑指令迹象 |
安全检查清单:
① Shell 命令:无,技能不执行任何 shell 命令,仅指导添加 Gradle 依赖与编写 Kotlin 代码。 ② 联网外发:技能本身不联网;文档描述的是 App 运行时通过 Google Play services 与 Cast 接收设备通信,属功能本身而非技能夹带的外发行为。 ③ API key/凭据:无需 API key 或凭据。 ④ 可疑指令:正文未发现要求 Agent 推广无关产品、外发数据或执行超出技能声明范围的指令。 ⑤ 作者信誉:Google LLC 官方维护,无造假迹象。 ⑥ License:Apache License 2.0,明确。 ⑦ 维护时间:2026-08-24 有内容提交,活跃维护。
7. 跟同类 Skills 相比的优势
| 对比对象 | 定位 | 差异 |
|---|---|---|
| restore-credentials-android-skills(同仓库) | 换设备后自动恢复登录凭据 | 服务身份认证生命周期,本技能服务媒体播放投屏能力,二者是同仓库下互不重叠的不同功能域 |
| 通用 Google Cast 官方文档(developer.android.com) | 分散的 API 参考文档,需开发者自行拼装集成流程与迁移顺序 | 本技能把架构判断、迁移顺序约束、Compose/View 双方案代码模式整合进一份可被 Agent 直接执行的结构化指南,减少来回查阅与顺序踩坑 |
差异化在于:不是零散的 API 参考,而是把“识别当前架构状态 → 选择集成/迁移路径 → 分步验收”整合为一套可直接喂给 Agent 执行的操作手册。
8. 用户评价
该技能目前在第三方平台尚无具名用户评价。
9. 安装使用方式
方式一:Android CLI(官方,需先安装 Android CLI)
android skills add media3-cast-integration --project=.
未指定 --agent 时默认为 Gemini 与 Antigravity 自动安装;面向 Claude Code / Codex 需显式使用 --agent 参数,或使用下方手动方式。
方式二:手动安装(适用于 Claude Code / Codex)
从 https://github.com/android/skills/tree/main/media/media3-cast-integration 下载 SKILL.md 与 references/ 目录,整体复制到项目对应 Agent 的技能目录(如 .claude/skills/media3-cast-integration/)。
安装后注意事项:向 Agent 描述“给 App 加 Cast 投屏支持”或“把旧版 Cast SDK 迁移到 Media3”等相关任务,Agent 会自动检索并使用该技能;无需重启,生效范围仅限当前项目/会话;使用前需确认项目 Jetpack Media3 版本 ≥ 1.9.0,否则需先升级依赖。
10. 注意事项
- 核心依赖要求 Jetpack Media3 版本 ≥ 1.9.0,低于该版本不支持 Cast 功能,需先升级。
- 从旧版 Cast SDK 迁移的场景下,正文明确要求分阶段保留旧文件直至新架构验证通过,不可一次性删除,操作顺序需严格遵循。
- 仅覆盖客户端投屏集成,不涉及 Cast 接收端(电视/音箱设备侧)的开发。
- OpenClaw、Hermes Agent 兼容性未经专门验证,建议先小范围试点。