开发与工程

CameraX 相机开发技能

为 Android 相机开发提供基于 CameraX 的最佳实践指导,涵盖迁移、录制生命周期、硬件互操作等功能。

60/ 100
推荐

整体可靠,存在已披露的局限;按说明试用并保留回滚路径。

查看评分依据 ↓
可直接使用于
ChatGPT · Codex · Claude Code
Star 数
★ 7.7k
最近更新
16 天前
License
Apache-2.0
camera-developmentandroidcameraxmigration-guide
+2best-practicesjetpack

这个 Skill 能做什么,适合哪些场景?

此技能提供构建 Android 相机应用的逐步指导和标准模式,重点聚焦 CameraX 库,包括其 Camera2Interop 工具及 Media3 集成。它涵盖了不可变 API 模式、从 Camera1/Camera2 迁移到 CameraX 的指南,以及手动控制、RAW 捕获、特效、弱光、折叠屏、XR、热管理、测试、ML Kit 空间分析、Wear OS 等复杂功能的蓝图。技能还强调代码质量规范,如使用 Fakes 而非 mocks、Truth 断言、显式测试运行器,以及语义 UI 合并。同时针对硬件多样性给出建议,并指出常见陷阱,如异步生命周期、线程安全和权限处理。

该技能提供程序化指导,包括:展示不可变 API 模式的代码示例(如 VideoCapture 的 withAudioEnabled 必须重新赋值);提供从 Camera1 和 Camera2 迁移到 CameraX 的参考指南;为多步骤功能(如手动控制、RAW 捕获、自定义效果等)提供结构化蓝图方法;推荐使用高级抽象(如 MlKitAnalyzer、Media3Effect、ConcurrentCamera);规定代码质量标准(Fakes over mocks、Truth 断言、显式测试运行器、语义合并);并列出常见陷阱及解决方案。

适合
  • Android 开发者需要将现有的 Camera1 或 Camera2 代码库迁移到 CameraX,以获得更简洁的 API 和生命周期管理
  • 实现相机功能时希望避免常见陷阱,例如异步录制状态检查和线程安全的 UI 更新
  • 构建复杂相机功能(如手动控制、RAW 捕获或自定义效果)时,需要结构化蓝图以避免系统超时
  • 需要在 Compose 中创建无障碍的相机控件,确保屏幕阅读器正确合并 UI 元素
  • 开发跨硬件设备(如折叠屏、多摄像头阵列)的相机应用,需考虑不同设备的特性

如何安装这个 Skill?

使用前请注意
  • 技能依赖Google Play服务(如LLB),在中国大陆可能无法正常使用,影响适用性。
  • 发布者未经验证,来源归属不明确,需谨慎对待其更新和维护承诺。
  • 静态审查无法确认代码示例的完整性或正确性,实际应用前需进行测试。
  • 未提供用户确认或数据流透明度说明,在涉及敏感数据(如相机图像)时应自行加强安全措施。

此技能来自 Android skills 仓库。使用 Android CLI 安装到当前目录:android skills add --skill=camerax --project=.;或使用 android skills add --all 安装所有技能(包括此技能)。若未指定代理,技能将安装到 ~/.gemini/antigravity/skills。

通用方式:手动安装到 Claude Code(macOS / Linux)
tmp="$(mktemp -d)"
git clone --depth 1 https://github.com/android/skills.git "$tmp"
mkdir -p ~/.claude/skills
cp -R "$tmp/camera/camerax" ~/.claude/skills/
rm -rf "$tmp"

根据源仓库地址和 Skill 路径自动生成,只复制这个 Skill 的文件夹。如果上文有作者提供的安装方式,请优先按作者说明操作;想只在当前项目中使用,把 ~/.claude/skills 换成项目里的 .claude/skills。

如何使用这个 Skill?

试试这样说

安装后,把下面任意一句发给 Agent 即可触发:

  • 帮我将 Camera2 代码迁移到 CameraX
  • 实现视频录制并启用音频

将技能安装到代理环境后,在对话中描述相机任务,例如“帮我将 Camera2 代码迁移到 CameraX”或“实现视频录制并启用音频”。技能将提供代码模式、迁移指南和蓝图参考。注意:技能中包含对 references/ 目录下文件的引用,需确保这些资源可用。

这个 Skill 有哪些优点和局限?

优点
  • 由 Google 官方维护,权威性强
  • 覆盖从迁移到高级特性的全面场景
  • 提供具体可执行的代码示例
  • 包含针对常见陷阱的明确指导
  • 与 Android 生态最佳实践保持一致
局限
  • 仅重点关注 CameraX,不覆盖其他相机库(如 Camera2 的直接使用)
  • 需要访问 `references/` 目录中的副本文档,但未明确列出其内容
  • 未提及测试套件或验证方法,不能保证所有场景的准确性
  • 为 AI 优化,可能不如官方文档详尽

这个 Skill 与同类方案有什么区别?

与相关 Skills 并排比较;分数均按同一 FSRS 标准得出。

Skill FS 评分 Star 数 最近更新 License
CameraX 相机开发技能 本页 60 · 推荐 ★ 7.7k 16 天前 Apache-2.0
Jetpack Navigation 3 指南与实战配方 59 · 推荐 ★ 7.7k 16 天前 Apache-2.0
Expo 原生 UI 构建助手 59 · 推荐 ★ 2.7k 6 天前 MIT
React Native 迁移评估 57 · 谨慎使用 ★ 1.7k 3 天前 MIT
Expo Web 转原生迁移指南 52 · 谨慎使用 ★ 2.7k 6 天前 MIT

FollowSkills 如何评估这个 Skill?

FollowSkills 评估 · FSRS-2.0
推荐
60/ 100 五分制 3.0 / 5
上游仓库在本次评估后已有新提交;当前评分仍对应所示审查版本,可能尚未覆盖最新改动。
1信任安全18 / 25 · 3.6/5

证据显示该技能仅提供指导性内容,不包含可执行代码或敏感数据处理,权限需求仅限于Android相机基本权限。依赖项为官方Google库,未发现恶意或越权行为。但未提供明确的用户确认或数据流透明度说明,发布者未经验证,因此扣除部分分数。

2可靠稳定8 / 20 · 2.0/5

技能指令在逻辑上自洽,提供了清晰的代码模式和约束,关键路径(如迁移、拍照)描述合理。但静态审查无法执行验证,且缺少测试覆盖,错误处理示例有限,故降低分数。

3适用触发12 / 15 · 4.0/5

技能场景明确,目标用户是Android开发者,边界清晰(涉及CameraX等)。但部分依赖的Google Play服务可能在Mainland China不可达,且无中文支持,环境适配证据有限。

4规范维护12 / 15 · 4.0/5

信息来源组织良好,提供了多个参考文档,有明确的许可证和最后更新日期。但未提供版本历史、变更日志或明确的维护责任声明,且发布者未经验证。

5有效结果6 / 15 · 2.0/5

技能能指导完成核心任务,但缺少实际输出验证,价值主张未量化,且需用户自行适配代码,边际价值证据有限。

6证据核验4 / 10 · 2.0/5

无第三方执行证据,如CI测试或提交的测试套件,关键声明缺乏独立验证,仅依赖作者表述。

1 2 3 4 5 6

点击维度查看打分理由

评估于 2026年8月7日 审查版本 28822b2306f3 评估证据[1][2][3][4][5][6][7][8][9][10][11][12][13]

证据充分度:低 — 主要依赖静态检查、作者材料或有限演示;适合发现线索,不适合做高风险决策。

查看完整评分方法 →

常见问题

此技能是否免费?
是的,它遵循 Apache 2.0 许可,可以自由使用和修改。
此技能是否支持除 CameraX 之外的其他相机 API?
主要聚焦于 CameraX,但包含从 Camera1 和 Camera2 迁移到 CameraX 的指南。它不提供直接使用 Camera2 的深入指导。
如果我的项目使用 Kotlin,是否适用?
是的,所有示例都用 Kotlin 编写,适用于 Android 的 Kotlin 开发。
此技能能否保证生成的代码完全正确?
不能,它提供指导而非保证。建议始终对生成结果进行审查和测试。

同仓库的其他 Skills

均来自 android/skills

相关 Skills