mcpField
A
android-modernization-upgrade

android-modernization-upgrade

github.com/krutikjain开发1456 次安装31 周前更新
代码仓库

关于 android-modernization-upgrade

android-modernization-upgrade 是用于诊断并分阶段升级旧版 Android 项目的技能。它帮助 Android 开发者区分可安全自动修改与有歧义的迁移,检查构建和原生打包问题,并将未解决事项转交专用技能。

主要功能

  1. 01诊断 Android 工具链与 API
  2. 02分阶段升级计划与安全修改
  3. 03适配 Compose、View 或混合项目
  4. 04各阶段运行构建、测试和 Lint
  5. 05验证 16 KB 对齐
  6. 06生成整改报告并转交专用技能

适用场景

  1. 01规划旧版 Android 项目的升级
  2. 02解决 AGP 或 Kotlin 更新后的构建问题
  3. 03查找弃用 API 和原生对齐阻碍

安装

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

$npx skills add https://github.com/krutikjain/android-agent-skills --skill android-modernization-upgrade

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

包含的文件

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

agents/
openai.yaml
references/
agp-upgrade-notes.md
androidx-migration.md
deprecated-replacements.md
gradle-compatibility.md
issue-signature-catalog.md
jetpack-release-notes.md
kotlin-compatibility.md
sdk-behavior-changes.md
upgrade-matrix.md
scripts/
apply_safe_upgrades.py
build_compat_matrix.py
check_16kb_alignment.py
generate_remediation_checklist.py
scan_project.py

详细介绍

Android 现代化升级

适用场景

  • 在以下请求中使用此技能:升级旧版 Android 项目、AGP 或 Kotlin 升级后修复 Android 构建、替换已弃用的 Android 类。
  • 主要目标:通过分阶段升级、替换已弃用的 API、检查 16 KB 对齐,并明确移交给专门技能,将非常老旧的 Android 项目迁移到当前受支持的基线。
  • 目的:为将非常老旧的 Android 项目迁移到当前受支持的基线提供端到端指导。
  • 当请求涉及整个仓库的兼容性和分阶段升级顺序,而非孤立的 Kotlin 清理或单个库的重构时,使用此技能。
  • 触发请求:升级旧版 Android 代码库、修复版本升级后的问题、迁移已弃用的 Android 模式、替换已弃用的类、解决旧版 Gradle/AGP/Kotlin 问题、处理 16 KB 对齐,或实现架构/设置现代化。
  • 当范围扩大时,移交给以下技能:
  • android-gradle-build-logic
  • android-viewsystem-foundations
  • android-compose-xml-interoperability
  • android-security-best-practices
  • android-performance-observability
  • android-rxjava-to-coroutines-migration

职责

  • 诊断仓库状况:AGP、Gradle、Kotlin、AndroidX/支持库、SDK 级别、本机二进制文件,以及已弃用的 API/类。
  • 制定安全的升级顺序,而非一次性升级所有内容。
  • 针对 Compose 为主、View 系统和混合互操作项目,采用不同的迁移路径。
  • 在修复方式明确时替换已弃用的导入和类;否则明确列出待处理事项。
  • 发布前验证本机打包情况和 16 KB 对齐准备情况。
  • 隔离主要升级阻塞项后,将有针对性的后续工作移交给合适的 Android 专门技能。

工作流

  1. 扫描项目,了解工具链版本、AndroidX 状态、本机打包情况和已弃用的 API。
  2. 制定有序的现代化计划,将机械性修复与有风险的语义变更分开。
  3. 分阶段应用确定性升级,并在每个阶段后重新运行构建、测试和 lint。
  4. 将剩余问题交给负责的专门技能,并提供准确的问题特征和文件路径;需要迁移的 RxJava 链也应移交给专用迁移技能。
  5. 生成最终修复报告,确保没有未披露的迁移欠账。

自动化模式

  • audit:检查仓库并输出结构化诊断报告,不编辑文件。
  • safe-apply:执行确定性编辑,例如清理仓库配置、升级版本、进行明显的支持库替换、规范化清单,以及直接替换已弃用的 API。
  • report:汇总未解决的阻塞项、文件路径、问题特征,以及下一步应使用的专门技能。

防护原则

  • 仅自动应用确定且可审查的变更。
  • 如果可以分阶段迁移而非重写,则保留现有有效行为。
  • 将 AGP、Gradle、Kotlin、SDK、AndroidX 和本机打包视为一个兼容性关系网。
  • 绝不悄然删除已弃用的行为;必须记录替代方案和验证路径。

反模式

  • 不经分阶段验证,一次性升级所有版本。
  • 默认对仅使用传统 View 的旧版应用套用 Compose 迁移建议。
  • 忽略旧版应用中的本机库、ABI 打包或页面大小对齐。
  • 在仍打包已弃用的类和支持库时,就宣称项目已实现现代化。

必需工具

  • scripts/scan_project.py
  • scripts/build_compat_matrix.py
  • scripts/generate_remediation_checklist.py
  • scripts/apply_safe_upgrades.py
  • scripts/check_16kb_alignment.py

必需的参考资料

  • references/agp-upgrade-notes.md
  • references/kotlin-compatibility.md
  • references/androidx-migration.md
  • references/gradle-compatibility.md
  • references/sdk-behavior-changes.md
  • references/jetpack-release-notes.md
  • references/deprecated-replacements.md
  • references/upgrade-matrix.md
  • references/issue-signature-catalog.md

示例

顺利完成
  • 场景:扫描一个使用 support library 的旧项目,并生成按顺序排列的升级检查清单。
  • 命令:python3 skills/android-modernization-upgrade/scripts/scan_project.py examples/fixtures/legacy-support-app
边缘情况
  • 场景:修复一个卡在旧版 AGP 和 Kotlin 版本之间的项目,并验证分阶段修复效果。
  • 命令:python3 skills/android-modernization-upgrade/scripts/generate_remediation_checklist.py examples/fixtures/legacy-mismatch-app
故障恢复
  • 场景:在发布前自动检测原生打包和 16 KB 对齐问题。
  • 命令:python3 skills/android-modernization-upgrade/scripts/check_16kb_alignment.py examples/fixtures/native-misaligned-app/app-release.apk

完成检查清单

  • 实施路径明确、精简,并与正确的 Android 层面相关联。
  • 已运行或更新相关示例命令和基准测试提示词。
  • 当请求涉及相邻技能时,已记录交接说明。
  • 官方参考资料涵盖所选模式以及主要迁移或故障排除路径。
  • 已自动应用已知的安全修复;对于有歧义的迁移,已报告而非悄然更改。
  • 已替换弃用类,或列出其确切文件路径和替换指南。
  • 已验证 16 KB 对齐,或明确指出具体的第三方/原生阻碍。

官方参考资料

评论

支持 Markdown