mcpField
C
claude-android-ninja

claude-android-ninja

github.com/drjacky开发129626 次安装4 周前更新
代码仓库

关于 claude-android-ninja

claude-android-ninja 是面向 Kotlin 和 Compose Android 开发的参考技能,通过专题指南处理架构、界面、Gradle、测试及平台任务,并覆盖新旧项目。

主要功能

  1. 01按任务路由至专题参考
  2. 02Kotlin 与 Compose 开发指南
  3. 03项目与依赖配置
  4. 04架构、导航和数据模式
  5. 05构建、质量与测试指南

适用场景

  1. 01从零创建 Android 项目
  2. 02为现有应用添加 Compose 功能
  3. 03规划离线优先的数据流
  4. 04迁移 SDK 或构建工具版本

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/drjacky/claude-android-ninja --skill claude-android-ninja

安装后在 Claude Code 中输入/claude-android-ninja确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

.gitignore
LICENSE.md
README.md
.github/
FUNDING.yml
.github/ISSUE_TEMPLATE/
bug_report.md
feature_request.md
.github/scripts/
check-skill-index-line-counts.sh
check-skill-links.sh
check-skill-ergonomics.sh
check_skill_ergonomics.py
check-skill-voice.sh
check_skill_index_line_counts.py
check-skill-typography.sh
validate-skill.sh
check_skill_typography.py
check_skill_links.py
check_skill_voice.py
normalize_reference_links.py
.github/workflows/
validate-skill.yml
assets/convention/
AndroidApplicationBaselineProfileConventionPlugin.kt
AndroidApplicationComposeConventionPlugin.kt
AndroidApplicationJacocoConventionPlugin.kt
AndroidFeatureConventionPlugin.kt
AndroidLibraryConventionPlugin.kt
AndroidApplicationConventionPlugin.kt
AndroidLibraryComposeConventionPlugin.kt
AndroidLibraryJacocoConventionPlugin.kt
AndroidLintConventionPlugin.kt
AndroidRoomConventionPlugin.kt
AndroidTestConventionPlugin.kt

详细介绍

Android Kotlin Compose 开发

上下文层级(先加载较少内容;完整参考资料保持完整):

  1. 此文件(SKILL.md)- 路由、停止规则、示例。
  2. 下方列出的 references/*-quick.md - 必需/禁止事项 + 章节链接(约 40 行)。
  3. 完整 references/*.md 中的一个目标章节 - 仅代码示例和检查清单。
  4. INDEX-sections.md - 仅当快速路由不足时才查看锚点列表。

禁止:当一个章节或快速文件已能满足任务时,不要加载 INDEX-sections.md 或整份数千行的参考资料。

通过快速参考表为任务选择路由。没有匹配项,或任务需要从零搭建时:查看 workflows.md。完整文件列表:INDEX.md。

必需操作:

  • **现有项目:**从 assets/ 复制内容前,先阅读 settings.gradle.kts、gradle/libs.versions.toml 和 app 模块构建文件 - dependencies.md、modularization.md。技术栈迁移: migration.md。
  • 从零搭建:workflows.md → “Creating a new project?”
  • 更改模块、DI、导航、Room 架构或 AGP/Kotlin/KSP 后:运行 ./gradlew help,然后运行 :app:assembleDebug(使用实际的 app 模块名称)- gradle-setup.md。

**仓库外停止规则(不要用仓库编辑来替代):**Play 上传、轨道、分阶段发布、versionCode - android-ci-cd.md;Play Integrity 前置条件(Console/Cloud 设置)- android-security-quick.md;生产环境中的 adb install / pm clear - testing.md。

快速参考

此处未列出的罕见或小众主题见 INDEX.md(完整文件列表)。

任务参考
表格中未列出的任务、全新项目初始化、多主题设置workflows.md
可选的 Android CLI 项目发现、Studio 检查、预览和测试设备检查workflows.md(“Using the optional Android CLI for agent workflows?”)
所有参考文件的完整索引INDEX.md
版本目录、固定版本、alpha 策略、存量项目对齐dependencies.md
添加或更新依赖项(目录别名)dependencies.md
多模块依赖项dependencies.md
项目结构和模块modularization.md
MVVM 层、存储库、DIarchitecture.md
Retrofit / OkHttp、NetworkModule、可空 DTO、AuthInterceptorarchitecture.md; dependencies.md
DataStore(偏好设置、类型化)、Room 与 DataStore 的使用规则architecture.md
代码格式化(Spotless、spotlessCheck / spotlessApply)assets/convention/QUICK_REFERENCE.md; gradle-setup.md
Compose 模式、动态效果、动画、修饰符、稳定性compose-patterns-quick.md
Paging 3 + Room + 网络(RemoteMediator、远程键、initialize)compose-patterns.md
无障碍功能、TalkBack、标签文案、实时区域、Espresso 无障碍android-accessibility-quick.md
通知、前台服务、MediaStyle、画中画、分享面板android-notifications.md
媒体:API 37 后台播放、Media3、选择器、FileProvider、分享面板android-media.md
数据同步和离线优先模式android-data-sync-quick.md
Material 3 主题、间距令牌、动态颜色android-theming-quick.md
Navigation3、深层链接、应用链接、自适应布局android-navigation-quick.md
Kotlin 模式、View 生命周期互操作kotlin-patterns.md
协程模式(StateFlow、Channel、callbackFlow)coroutines-patterns-quick.md
Gradle、产品变体、BuildConfig、构建性能、R8gradle-setup.md
代码质量(Detekt 约定插件、CI)code-quality.md
测试方法(单元测试、插桩测试、Compose UI)testing-quick.md
国际化和本地化android-i18n.md
运行时权限、Photo Picker、API 37 位置隐私android-permissions.md
Kotlin 委托模式kotlin-delegation.md
崩溃报告(Firebase / Sentry 接口、PII 清理)crashlytics.md
设计模式(GoF 风格、Room FTS)design-patterns-quick.md
性能、Play Vitals、启动、重组、卡顿、APA、Perfettoandroid-performance.md
受限设备上的 Android 17 QPR2 内存预算(可选)android-performance.md
调试、Logcat、ANR、Gradle 错误、R8 映射、内存泄漏android-debugging.md
迁移(XML、RxJava、Navigation、Compose、Room 2→3、API 37、16 KB 原生代码、Compose-XML 互操作)migration.md; 16 KB 页面大小; Compose-XML 互操作

示例

使用约定插件创建全新的 Android 应用

用户目标:创建一个符合技能技术栈的新仓库。

操作:根据 assets/convention/QUICK_REFERENCE.md,将 assets/settings.gradle.kts.template、assets/libs.versions.toml.template、assets/convention/ 复制到 build-logic/;配置 includeBuild("build-logic");阅读 modularization.md 和 gradle-setup.md。

结果:根模块、app 模块和核心模块均已创建,并应用了版本目录和约定插件。

新增功能界面(Compose + ViewModel)

用户目标:在功能模块中新增一个流程。

操作:参考 modularization.md 了解模块命名和依赖方向;参考 compose-patterns-quick.md 了解 Screen、状态和副作用;参考 kotlin-patterns.md 和 coroutines-patterns-quick.md 了解 StateFlow 和事件;参考 architecture.md 了解领域层与数据层的边界。

结果:功能模块包含 Screen 可组合项、ViewModel、UiState,且依赖注入与现有图保持一致。

使用 Room 3 和远程 API 构建离线优先列表

用户目标:提供缓存列表并支持网络刷新。

操作:参考 compose-patterns.md 了解 Paging 3 和 RemoteMediator;参考 architecture.md 了解仓库的放置位置;根据 workflows.md(使用数据库),使用 Room 3 和 SQLiteDriver;如需升级,则参考 migration.md。

结果:Room 是唯一数据源,UI 由 PagingData 驱动,或采用指南中的等效模式。

提升目标 SDK / 编译 SDK(例如 API 37)

用户目标:迁移工具链和平台要求。

操作:按照 migration.md 执行迁移;使用 gradle-setup.md 和 dependencies.md 固定 AGP/Kotlin/KSP 版本;根据 workflows.md(迁移到目标 SDK 37)交叉检查 edge-to-edge、媒体和安全性。

结果:提升 compileSdk / targetSdk,并按照迁移文档调整清单、Gradle 配置和功能代码。

故障排除

症状可能原因修复
Gradle 同步失败、找不到插件,或版本目录出错缺少 google() / mavenCentral()、插件 ID 错误,或目录别名不一致gradle-setup.md;引导初始化时与 assets/libs.versions.toml.template 保持一致
Room 出现 KSP 错误,或 Room 3 构建器因缺少驱动而报错Room 3(模板版本 3.0.3)要求使用 setDriver(BundledSQLiteDriver())(或项目中的等效实现)migration.md;modularization.md;architecture.md
@TypeConverter 无法解析,或 DAO 返回类型被拒绝Room 3 将其重命名为 @ColumnTypeConverter;非 Flow / suspend 返回类型需要 @DaoReturnTypeConvertersmigration.md
仅在 Release 版本中崩溃,但类确实列在 seeds.txt 中AGP 9 的 strictFullModeForKeepRules:-keep class A 不再保留其构造函数android-debugging.md;gradle-setup.md
升级 Compose、nav3 或 androidx.hilt 后,Gradle 同步立即失败这些库使用 compileSdk 37 编译,并要求 AGP >= 9.2.0migration.md;gradle-setup.md
目标版本为 37 时,局域网设备发现或本地 HTTP 调用无提示地失败需要 ACCESS_LOCAL_NETWORK,或使用无需权限的 NsdManager 选择器android-permissions.md;migration.md
后台音频无声,且没有异常API 37 音频加固——缺少 MediaSession 或 mediaPlayback FGSandroid-media.md
Compose 运行时警告存在不稳定 / 可跳过的重组参数类型不稳定,或状态持有方式不正确compose-patterns-quick.md;android-performance.md;kotlin-patterns.md
Release 构建崩溃、出现 ClassNotFoundException,或缺少 R8 规则代码缩减移除了反射或 JNI 入口点android-debugging.md;gradle-setup.md
没有证据却声称存在 ANR 或卡顿对主线程或测量结果的假设在更改架构之前,先查看 android-performance.md 或 Perfetto

评论

支持 Markdown