用途:为 Android 项目生成基于 VectorDrawable 的自适应图标,图标来源为 Iconify 的 20 万+ 开源图标库。主要通过脚本完成确定性的图标生成,代理负责按用户确认的参数运行脚本、展示结果、等待用户决策并验证输出。脚本位于 ~/claude-devtools/skills/android-app-icon/scripts/。
主要能力:search-icons.sh <term> 在 Iconify 中搜索图标;generate-app-icons.sh <icon-id> 生成全部图标资源,脚本会自动识别背景色(来自 themes.xml → colors.xml)、缩放系数(默认 1.15)和输出路径。可选覆盖:ICON_BACKGROUND="#2196F3" ICON_SCALE="1.2" 后接脚本与图标 ID。
使用前提:项目 minSdk >= 26;已安装 curl、python3、rsvg-convert。安装 rsvg-convert:macOS 用 brew install librsvg,Ubuntu/Debian 用 sudo apt install librsvg2-bin,用 rsvg-convert --version 验证。
流程:先检查旧版位图图标(mipmap-* 下的 ic_launcher*.webp/png),如发现需询问用户是否删除;从项目上下文(build.gradle.kts 的 namespace/applicationId,或 strings.xml 的 app_name)猜测搜索词并让用户确认;运行搜索脚本后由用户从结果中选择;在项目根目录运行生成脚本;最后用 ./gradlew assembleDebug 验证。
完成标准:确认后旧图标已删除;app/src/main/res/drawable/ic_launcher_foreground.xml、ic_launcher_background.xml 存在;app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml 与 ic_launcher_round.xml 存在;fastlane/metadata/android/en-US/images/icon.png 存在;./gradlew assembleDebug 成功。
限制:需 minSdk >= 26 才适用矢量自适应图标;搜索/生成依赖外部脚本与网络及 rsvg-convert;图标版权与许可需按 Iconify 各图标集(如 Apache 2.0、MIT)自行核实。图标被裁切时可尝试 ICON_SCALE=1.0;找不到图标可在 https://icon-sets.iconify.design/ 核对图标 ID。平台、收费与效果等未在资料中说明,暂未提供。