关于 android-modernization-upgrade
android-modernization-upgrade 是用于诊断并分阶段升级旧版 Android 项目的技能。它帮助 Android 开发者区分可安全自动修改与有歧义的迁移,检查构建和原生打包问题,并将未解决事项转交专用技能。
主要功能
- 01诊断 Android 工具链与 API
- 02分阶段升级计划与安全修改
- 03适配 Compose、View 或混合项目
- 04各阶段运行构建、测试和 Lint
- 05验证 16 KB 对齐
- 06生成整改报告并转交专用技能
适用场景
- 01规划旧版 Android 项目的升级
- 02解决 AGP 或 Kotlin 更新后的构建问题
- 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.yamlreferences/agp-upgrade-notes.mdandroidx-migration.mddeprecated-replacements.mdgradle-compatibility.mdissue-signature-catalog.mdjetpack-release-notes.mdkotlin-compatibility.mdsdk-behavior-changes.mdupgrade-matrix.mdscripts/apply_safe_upgrades.pybuild_compat_matrix.pycheck_16kb_alignment.pygenerate_remediation_checklist.pyscan_project.py详细介绍
Android 现代化升级
适用场景
- 在以下请求中使用此技能:升级旧版 Android 项目、AGP 或 Kotlin 升级后修复 Android 构建、替换已弃用的 Android 类。
- 主要目标:通过分阶段升级、替换已弃用的 API、检查 16 KB 对齐,并明确移交给专门技能,将非常老旧的 Android 项目迁移到当前受支持的基线。
- 目的:为将非常老旧的 Android 项目迁移到当前受支持的基线提供端到端指导。
- 当请求涉及整个仓库的兼容性和分阶段升级顺序,而非孤立的 Kotlin 清理或单个库的重构时,使用此技能。
- 触发请求:升级旧版 Android 代码库、修复版本升级后的问题、迁移已弃用的 Android 模式、替换已弃用的类、解决旧版 Gradle/AGP/Kotlin 问题、处理 16 KB 对齐,或实现架构/设置现代化。
- 当范围扩大时,移交给以下技能:
android-gradle-build-logicandroid-viewsystem-foundationsandroid-compose-xml-interoperabilityandroid-security-best-practicesandroid-performance-observabilityandroid-rxjava-to-coroutines-migration
职责
- 诊断仓库状况:AGP、Gradle、Kotlin、AndroidX/支持库、SDK 级别、本机二进制文件,以及已弃用的 API/类。
- 制定安全的升级顺序,而非一次性升级所有内容。
- 针对 Compose 为主、View 系统和混合互操作项目,采用不同的迁移路径。
- 在修复方式明确时替换已弃用的导入和类;否则明确列出待处理事项。
- 发布前验证本机打包情况和 16 KB 对齐准备情况。
- 隔离主要升级阻塞项后,将有针对性的后续工作移交给合适的 Android 专门技能。
工作流
- 扫描项目,了解工具链版本、AndroidX 状态、本机打包情况和已弃用的 API。
- 制定有序的现代化计划,将机械性修复与有风险的语义变更分开。
- 分阶段应用确定性升级,并在每个阶段后重新运行构建、测试和 lint。
- 将剩余问题交给负责的专门技能,并提供准确的问题特征和文件路径;需要迁移的 RxJava 链也应移交给专用迁移技能。
- 生成最终修复报告,确保没有未披露的迁移欠账。
自动化模式
audit:检查仓库并输出结构化诊断报告,不编辑文件。safe-apply:执行确定性编辑,例如清理仓库配置、升级版本、进行明显的支持库替换、规范化清单,以及直接替换已弃用的 API。report:汇总未解决的阻塞项、文件路径、问题特征,以及下一步应使用的专门技能。
防护原则
- 仅自动应用确定且可审查的变更。
- 如果可以分阶段迁移而非重写,则保留现有有效行为。
- 将 AGP、Gradle、Kotlin、SDK、AndroidX 和本机打包视为一个兼容性关系网。
- 绝不悄然删除已弃用的行为;必须记录替代方案和验证路径。
反模式
- 不经分阶段验证,一次性升级所有版本。
- 默认对仅使用传统 View 的旧版应用套用 Compose 迁移建议。
- 忽略旧版应用中的本机库、ABI 打包或页面大小对齐。
- 在仍打包已弃用的类和支持库时,就宣称项目已实现现代化。
必需工具
scripts/scan_project.pyscripts/build_compat_matrix.pyscripts/generate_remediation_checklist.pyscripts/apply_safe_upgrades.pyscripts/check_16kb_alignment.py
必需的参考资料
references/agp-upgrade-notes.mdreferences/kotlin-compatibility.mdreferences/androidx-migration.mdreferences/gradle-compatibility.mdreferences/sdk-behavior-changes.mdreferences/jetpack-release-notes.mdreferences/deprecated-replacements.mdreferences/upgrade-matrix.mdreferences/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