build-android-apk-without-gradle

build-android-apk-without-gradle is a skill for Claude Code, Codex from Promastergame/tinyapk-lab. It costs 22 tokens per session (2,825 once invoked), scanned A, original, MIT.

Instructions for building an Android APK on a Linux server without Android Studio, Gradle, or internet access to Google or Maven servers. An APK is the installable package used by Android apps.

In plain words
What is it for?
Use it to compile resources, turn Java classes into Android bytecode, sign and align the package, and produce an APK with individual command-line tools.
Why use it?
It provides an alternative when the normal Android build tools or network access are unavailable.

Skill for Claude CodeCodex

Written for no agent in particular: nothing here depends on one. Also seen: $skill-name invocation.

Not installable: its command points at a path on the author’s own machine, so it runs nowhere else. The line is /home/claude/sdk/platforms/android-34.

Install

Getting it into your agent

There is no command for this one: it runs only inside a plugin, and the catalogue could not identify which plugin ships it. The source is linked below.

Made for: Claude Code, Codex.

Wrote 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.

agentmods badge for build-android-apk-without-gradle

README.md
[![agentmods](https://agentmods.dev/badge/skills/promastergame/tinyapk-lab/manual-build.svg)](https://agentmods.dev/skills/promastergame/tinyapk-lab/manual-build)
Your own site
<a href="https://agentmods.dev/skills/promastergame/tinyapk-lab/manual-build"><img src="https://agentmods.dev/badge/skills/promastergame/tinyapk-lab/manual-build.svg" alt="Measured on agentmods" height="20"></a>
Per session 22 Skills are progressive disclosure: only the name and description are preloaded; the body loads when the skill is used.
When invoked 2,825 The whole file, excluding the scripts and references it only reads on demand.
Security scan A 0 findings. Scan, not verified.
Origin original No closer match found in the catalogue.
Token cost

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.

ModelPer sessionOnce invoked
Fable 5.1 $0.00022 $0.02825
Opus 5 $0.00011 $0.01412
Sonnet 5 $0.00004 $0.00565
Haiku 4.5 $0.00002 $0.00282

Measured 6d ago against content hash a56f9281284d, method: parsed. Prices are Anthropic first-party input rates as of 2026-09-06, from the pricing page.

Security

Grade A, and why

build-android-apk-without-gradle 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 6d 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.

manual-build/SKILL.md · 255 lines

How it starts

The opening of the file, as written. The whole thing — 255 lines — stays where its author put it; the contents beside it link to each section on GitHub.

SKILL: Build Android APK Without Gradle

When to use

Use this skill when you need to build an Android APK on a Linux server WITHOUT Android Studio, WITHOUT Gradle, and WITHOUT internet access to Google/Maven servers.

This skill was born from a real session where all standard approaches failed and the APK was built manually tool by tool.


Tools needed

Tool Purpose How to get
aapt2 Compile XML resources git clone github.com/rendiix/termux-aapt → prebuilt x86-64 binary
android.jar Android platform API classes git clone github.com/Reginer/aosp-android-jar → pick API level
ecj.jar Java compiler (replaces javac!) Maven Central: org.eclipse.jdt:ecj — user uploads to chat
d8.jar Java .class → DEX format Android SDK: build-tools/<ver>/lib/d8.jar — user uploads
apksigner.jar Sign the APK Android SDK: build-tools/<ver>/lib/apksigner.jar — user uploads
zipalign Align APK bytes apt-get install -y zipalign
keytool Create debug keystore Bundled with JRE — no install needed
java (JRE only) Run all jar tools Already on server — verify with java -version

Why ECJ instead of javac?

javac is part of the JDK which is often unavailable or broken on restricted servers. ECJ (Eclipse Compiler for Java) is a standalone .jar that does the same job using only JRE. Always use --release 8 flag for Android compatibility — using -8 causes LambdaMetafactory cannot be resolved errors.

Why .aar files contain classes.jar?

Android library packages (.aar) are just ZIP archives. The actual compiled classes live inside as classes.jar. Extract with:

unzip mylib.aar classes.jar -d mylib-extracted/

Find .aar files in user's Gradle cache at:

C:\Users\<name>\.gradle\caches\modules-2\files-2.1\androidx.<lib>\<lib>\<version>\<hash>\<lib>.aar

What can be cloned from GitHub (no auth needed)

# android.jar for all API levels (2.2GB total — use sparse clone for one version)
git clone --depth=1 https://github.com/Reginer/aosp-android-jar.git
# then copy: android-jar/android-34/android.jar

# aapt2 prebuilt binary for Linux x86-64
git clone --depth=1 https://github.com/rendiix/termux-aapt.git
# binary at: termux-aapt/prebuilt-binary/x86-64/aapt2

# gradle-wrapper.jar (needed if using gradlew)
git clone --depth=1 --filter=blob:none --sparse https://github.com/gradle/gradle.git
cd gradle && git sparse-checkout set gradle/wrapper
# jar at: gradle/wrapper/gradle-wrapper.jar

Read the full file on GitHub · 255 lines

Files

What ships with it

4 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.

Changes

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.

  1. 6d ago First seen · 255 lines · 22 tokens per session scan A a56f9281284d

Subscribe to this mod's changes

build-android-apk-without-gradle is a skill published in the GitHub repository Promastergame/tinyapk-lab (24 stars, last pushed 1mo ago), licensed MIT. It adds 22 tokens to every session and 2,825 once invoked, about $0.0001 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-08-30.

Related

Other skills, from other repositories

analyzing-android-malware-with-apktool

Perform static analysis of Android APK malware using apktool for resource decompilation, jadx for Java source recovery, and androguard for manifest inspection, dangerous permission-combination detection, and identification of obfuscated code, dynamic code loading, and reflection-based API calls. Use to statically…

mukul975/Anthropic-Cybersecurity-Skills · 84 tokens

Mobile Application Security

Android and iOS application security testing — static and dynamic analysis, APK/IPA inspection, OWASP MASVS/MASTG verification, secure-storage and transport review, and mobile malware triage for authorized assessments.

Masriyan/Claude-Code-CyberSecurity-Skill · 46 tokens

analyzing-android-malware-with-apktool

Use when perform static analysis of Android APK malware samples using apktool for decompilation, jadx for Java source recovery, and androguard for permission analysis, manifest inspection, and suspicious API call detection. Use when performing static analysis of android apk malware samples using apktool.

oyi77/1ai-skills · 66 tokens

capture-app-flow-media

Use to record or convert ApkAnalyzer app flows into screenshots or GIFs for the README or product docs. Triggered by phrases like "add screenshots", "convert videos to gifs", "record a gif of this flow", "capture app screenshots", "update the README screenshots", "make a demo gif".

MartinStyk/apk-analyzer · 66 tokens

navigate-app-adb

Use to drive ApkAnalyzer's UI on a connected device/emulator via adb — dumping the screen, finding a tappable element by its visible text or content description, and tapping it — to inspect or verify a change without a human touching the device. Triggered by phrases like "navigate to X screen", "tap through the app"…

MartinStyk/apk-analyzer · 101 tokens

sync-design-changes

Use when translating tweaks made in the "Apk Analyzer Design System" Claude Design project (claude.ai/design) back into actual Kotlin/Compose code in this repo. Triggered by phrases like "sync design changes", "bring in the Claude Design edits", "implement what I changed in Claude Design", "apply the design tweaks"…

MartinStyk/apk-analyzer · 80 tokens