Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add OpenMinis/MinisSkills --skill android-devgit clone --depth 1 https://github.com/OpenMinis/MinisSkillsWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/openminis/minisskills/android-dev)<a href="https://agentmods.dev/skills/openminis/minisskills/android-dev"><img src="https://agentmods.dev/badge/skills/openminis/minisskills/android-dev/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/openminis/minisskills/android-dev"><img src="https://agentmods.dev/badge/skills/openminis/minisskills/android-dev.svg" alt="Reviewed on agentmods" width="80" height="20"></a>- NVIDIA SkillSpector pass
What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00125 | $0.03326 |
| Opus 5 | $0.00063 | $0.01663 |
| Sonnet 5 | $0.00025 | $0.00665 |
| Haiku 4.5 | $0.00013 | $0.00333 |
Grade A, and why
android-dev scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured 7d ago.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 288 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Android 开发(Minis ARM64 Alpine)
目标与不变量
按“探测 → 选路线 → 准备 → 构建 → 验证 → 安装/运行”执行。遵守:
- 不假设 Java、SDK、Gradle、ADB、NDK 或固定路径存在;先取证。
- 不直接运行 Google Linux SDK/NDK 中的 x86_64 native host 工具。
- 不下载或替换未固定版本、来源和校验值的 AAPT2;不重新分发无明确许可证的第三方二进制。
- 不把警告当成功,也不因非致命警告误报失败;以命令退出状态和验收证据为准。
- 不输出 keystore 密码、API key、代理凭据等秘密。
- 不自动卸载现有 App 来解决签名冲突,因为这可能删除用户数据。
- 未取得
BUILD SUCCESSFUL、APK 验证、安装成功与启动证据时,不声称对应阶段完成。
能力矩阵
| 能力 | 状态 | 默认处理 |
|---|---|---|
| Java/View Debug APK | 已实测 | 本地 ARM64 构建 |
| APK 签名与完整性验证 | 已实测 | scripts/verify-apk.sh |
| Kotlin App | 条件支持,未完整实测 | 先做最小 Kotlin smoke build |
| Compose/KSP/KAPT | 条件支持,未实测 | 先检查插件、仓库、SDK/AGP/JDK 矩阵 |
| Release APK/AAB | 条件支持 | 用户提供签名策略;先验证工具链 |
| ADB | 条件支持 | Alpine android-tools;必须检查设备状态 |
| Shizuku 安装/启动 | 条件支持 | 需要 Minis 集成权限与运行中的 Shizuku |
JNI arm64-v8a |
实验性 | 先检查 NDK、Alpine Clang、sysroot;不得假设存在 |
| 多 ABI/AIDL/官方 native host 工具 | 未验证 | 先做能力探测;必要时改用远程 x86_64 构建机 |
Phase 0:Doctor
先运行 Skill 自带诊断脚本:
/var/minis/skills/android-dev/scripts/doctor.sh
状态约定:
STATUS=READY/ exit 0:Java APK 环境可构建。STATUS=NEED_BOOTSTRAP/ exit 10:运行 Bootstrap。STATUS=UNSUPPORTED_ARCH/ exit 20:不要执行 ARM64 路线,改用匹配宿主的工具链。ADB=optional_missing、NDK_R27D=optional_missing不阻断普通 APK 构建。
同时按任务检查磁盘、内存和写权限:
df -h /opt /var/minis /tmp
grep -E 'MemTotal|MemAvailable' /proc/meminfo
for D in /opt /var/minis/workspace /tmp; do test -w "$D" && echo "$D writable" || echo "$D NOT_WRITABLE"; done
磁盘不足时只清理本任务临时文件和可重建缓存,不擅自删除用户项目。Gradle 无堆栈直接显示 Killed 时,优先怀疑系统 OOM:降低 Xmx 与 workers,而不是反复重试。
Phase 1:从零准备环境
标准 Bootstrap
对空白/缺损环境直接运行:
/var/minis/skills/android-dev/scripts/bootstrap-android.sh
脚本会幂等地:
- 确认
aarch64Alpine 与至少 1.5 GiB/opt可用空间; - 安装 OpenJDK 17、Gradle、ZIP/ELF 工具,并尽力安装 Alpine ARM64 ADB;
- 从固定 Google URL 下载 Android Platform 34 与 Build Tools 35.0.0;
- 同时校验固定 SHA-1/SHA-256,使用
.part与 staging 目录,避免半成品覆盖; - 从固定 Git commit 下载 ARM64 AAPT2 并校验 SHA-256,先验证后原子替换并保留旧版;
- 写入
/etc/profile.d/android-sdk.sh; - 验证 AAPT2 能解析 Android 34、D8/apksigner 存在,最后输出
STATUS=READY。
What ships with it
6 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- 7d ago First seen · 288 lines · 125 tokens per session scan A 02cc35554931
android-dev is a skill published in the GitHub repository OpenMinis/MinisSkills (410 stars, last pushed yesterday), licensed MIT. It adds 125 tokens to every session and 3,326 once invoked, about $0.0006 per session on Opus 5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-09-05.
Other skills, from other repositories
orca-emulator-android
Android device and emulator control from inside Orca over adb, with the live device view in Orca's emulator pane. Use when driving an adb-connected emulator or phone on Windows, Linux, or macOS: booting AVDs, taps, swipes, typing, hardware buttons, rotation, app install and launch, runtime permissions, the…
android-tombstone-symbolication
Symbolicate the .NET runtime frames in an Android tombstone file. Extracts BuildIds and PC offsets from the native backtrace, downloads debug symbols from the Microsoft symbol server, and runs llvm-symbolizer to produce function names with source file and line numbers. USE FOR triaging a .NET MAUI or Mono Android app…
dogfood
Systematically explore and test a mobile app on iOS/Android with agent-device to find bugs, UX issues, and other problems. Use when asked to dogfood, QA, exploratory test, find issues, bug hunt, or test this app on mobile.
winapp-maui
Package and sign .NET MAUI Windows apps with winapp, resolving the resizetizer manifest dependency. Use when packaging or signing a .NET MAUI Windows app, building a MAUI MSIX or signed unpackaged build in CI, or fixing 'manifest contains unresolved placeholders ($placeholder$)' errors from winapp package.
react-native-ease-refactor
Scan for Animated/Reanimated code and migrate to EaseView.
apple-search-ads
When the user wants to set up, optimize, or scale Apple Search Ads (ASA) campaigns — including keyword bidding, match types, campaign structure, Creative Product Sets, CPP routing, and ROAS optimization. Use when the user mentions "Apple Search Ads", "ASA", "Search Ads", "Search tab ads", "Today tab ads", "CPT"…