new-android-build
Skill4 starsChanged 26 days agoApache-2.0View on GitHub
为含 Android 工程的仓库生成 scripts/android-build.sh 编译校验脚本。只做编译校验(默认 compileDebugKotlin),不签名、不产出 APK;SDK 定位优先 src/android/local.properties 的 sdk.dir,其次 ANDROID_HOME;gradle 优先 gradlew 回退系统 gradle;release 系 task 校验 ANDROID_KEYSTORE_* 签名环境变量;[STATUS] 机器可读输出。当用户要求"生成 android 构建脚本"、"android 编译校验脚本"、"初始化 android-build"时触发。支持 /new-android-build -h 查看帮助。
In this repository14 other files it gives its agents.
- CLAUDE.mdCLAUDE.md
- aibugSkill
- aicaseSkill
- api-testSkill
- common-rulesSkill
- db-compareSkill
- do-security-checkSkill
- do-testSkill
- git-summarySkill
- new-deploySkill
- new-java-projectSkill
- new-macos-buildSkill
- new-nginx-confSkill
- new-test-caseSkill
The file
Files
new-android-build
为工程生成标准化的 scripts/android-build.sh——Android 编译校验脚本。
定位:只管"本机改完代码后编译能不能过",不签名、不产出可安装 APK;正式打包/签名/产物分发由工程自己的发布流程负责。
触发条件:用户要求为某工程创建或更新 Android 编译校验脚本(android-build.sh)。
零、参数处理
如果用户传入 -h 或 --help,不执行任何文件操作,直接把下面的帮助信息原样输出在本次回复正文里后结束(斜杠命令把 SKILL.md 注入我的上下文不等于已展示给用户,正文里只回一句"已输出"就是没输出)。-h 与其它参数或说明文字同时出现时,一律只出帮助、忽略其余参数:本轮不猜附加要求,需要同时执行就把 -h 去掉分两次调用:
用法: /new-android-build [-h]
功能
在目标工程根目录生成 scripts/android-build.sh(Android 编译校验脚本)。
无需传参。
生成文件
scripts/android-build.sh Android 编译校验脚本
android-build.sh 主要能力
默认 task: compileDebugKotlin(只编译校验,不签名不出 APK),
可用 -t/--task 指定其他 task(如 assembleDebug)
SDK 定位: 优先 src/android/local.properties 的 sdk.dir(本机配置,
不提交版本库),其次 ANDROID_HOME(默认 $HOME/Android/Sdk)
gradle: 优先 src/android/gradlew,回退系统 gradle
签名校验: task 含 release 时提前校验 ANDROID_KEYSTORE_PATH /
ANDROID_KEYSTORE_PASSWORD / ANDROID_KEY_ALIAS /
ANDROID_KEY_PASSWORD 四个环境变量
日志: 构建日志落盘 runtime/build-android-<时间戳>.log,
失败时摘最后 120 行
状态输出: [STATUS] SUCCESS / [STATUS] ERROR 机器可读行
约定前提
Android 工程位于 <工程根>/src/android/(标准目录约定)
示例
/new-android-build 在当前工程生成 scripts/android-build.sh
/new-android-build -h 显示本帮助(出现即忽略其它参数,只出帮助)一、前置检查
1.1 确认目标工程
目标工程为当前工作目录。检查是否存在 src/android/ 目录:
- 存在 → 继续。
- 不存在 → 提示用户:
未检测到 src/android/ 目录(标准 Android 工程位置),是否仍要生成脚本?,由用户确认后继续或终止。
1.2 检测现有脚本(Update 流程)
检查目标工程根目录是否已存在 scripts/android-build.sh。
存在时
- 将模板渲染结果写入临时文件。
- 展示差异(
diff -u scripts/android-build.sh <新版本>)。 - 询问:
是否用新版本覆盖?(y/N) - 用户确认后覆盖,并执行
chmod +x。
不要静默覆盖。
不存在时
直接进入生成流程。
二、生成文件清单
以下文件在目标工程根目录下生成:
scripts/android-build.sh三、生成规则
模板来源
以下路径均相对于本 skill 目录(安装后通常为 ~/.qoder/skills/new-android-build/),模板随 skill 一起分发,不依赖任何仓库克隆或本地工程。
| 目标文件 | 模板来源 |
scripts/android-build.sh | templates/scripts/android-build.sh |
占位符替换
无。直接原样复制(工程路径按标准约定 src/android/ 推导,SDK/签名凭据走环境变量),不做任何内容修改。
四、生成后处理
chmod +x scripts/android-build.sh五、完成提示
生成完成后,向用户输出以下内容:
- 已生成文件列表(
scripts/android-build.sh) - 下一步操作:
## 下一步操作
### 编译校验(默认)
bash scripts/android-build.sh
### 指定 Gradle task
# 连带组装 debug APK
bash scripts/android-build.sh --task assembleDebug
# release 编译(需先配置签名环境变量)
export ANDROID_KEYSTORE_PATH=/path/to/keystore
export ANDROID_KEYSTORE_PASSWORD=<YOUR_KEYSTORE_PASSWORD>
export ANDROID_KEY_ALIAS=<YOUR_KEY_ALIAS>
export ANDROID_KEY_PASSWORD=<YOUR_KEY_PASSWORD>
bash scripts/android-build.sh --task assembleRelease
### SDK 找不到时
# 方式一:本机配置 local.properties(不提交版本库)
echo "sdk.dir=/path/to/Android/Sdk" > src/android/local.properties
# 方式二:环境变量
export ANDROID_HOME=/path/to/Android/Sdk六、注意事项
- 目标文件已存在时,走 1.2 Update 流程(展示差异 → 确认覆盖),不要静默覆盖。
- 脚本要求在项目根目录执行(
bash scripts/android-build.sh),脚本内部按自身位置推导工程根目录。 - 构建日志写入
runtime/目录,该目录建议加入.gitignore(若尚未忽略,生成后提醒用户)。 - 签名凭据(keystore 密码等)只能通过环境变量传入,禁止写入脚本或提交到版本库。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

