分析 Android 项目 Git 改动,找出本次修改后不再使用的资源文件(drawable、layout、string、color 等),并检查这些资源是否还在项目其他位置被引用。当用户需要清理 Android 项目中因代码改动而变得无用的资源文件时使用此 skill。支持分析暂存区、工作区或历史提交的改动。
分析 Git 改动,智能识别因代码修改而变得不再使用的 Android 资源文件。
# 分析暂存的改动(git add 后的内容)
python .agents/skills/android-unused-resource-cleanup/scripts/cleanup_unused_resources.py --source staged
# 分析未暂存的改动(工作区修改)
python .agents/skills/android-unused-resource-cleanup/scripts/cleanup_unused_resources.py --source unstaged
# 分析最近的一次提交
python .agents/skills/android-unused-resource-cleanup/scripts/cleanup_unused_resources.py --source HEAD~1
| 类型 | 示例 | 文件位置 |
|---|---|---|
| drawable | R.drawable.bg_main, @drawable/bg_main | res/drawable*/ |
| mipmap | R.mipmap.ic_launcher | res/mipmap*/ |
| layout | R.layout.activity_main | res/layout/ |
| string | R.string.app_name, @string/app_name | res/values/ |
| color | R.color.primary, @color/primary | res/values/ |
| dimen | R.dimen.spacing, @dimen/spacing | res/values/ |
| style | @style/AppTheme | res/values/ |
| anim | @anim/fade_in | res/anim/ |
| raw | R.raw.sound | res/raw/ |
| font | @font/roboto | res/font/ |
============================================================
Android 未使用资源分析报告
============================================================
[可删除] 可以安全删除的资源 (2 个):
------------------------------------------------------------
[drawable] bg_old_main
[文件] app/src/main/res/drawable/bg_old_main.xml
[string] old_title
[文件] app/src/main/res/values/strings.xml
[保留] 仍在使用,不能删除的资源 (1 个):
------------------------------------------------------------
[color] primary_old
[使用位置] 仍在以下位置使用:
- app/src/main/res/layout/activity_settings.xml
============================================================
[删除建议]:
del "app/src/main/res/drawable/bg_old_main.xml"
脚本通过以下方式识别资源引用:
R.type.name 模式@type/name 模式支持从以下位置获取改动:
staged:git diff --cachedunstaged:git diffHEAD~N:git diff HEAD~NZIP package — ready to use