apk-webview-android
Crear una APK Android TV (o movil) que envuelve una web EXISTENTE en un WebView modo kiosco/mural - auto-login respetando CSRF, fix de viewport por densidad…
Skill by webcomunicasolutions
Chalk Labs
Need help deploying apk-webview-android?
Chalk Labs sets up agents like this inside real teams: connected to your tools, tested on your data, with a human in the loop where it matters.
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/webcomunicasolutions-apk-webview-android
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: data
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/apk-webview-android
What's inside
- Skill name
apk-webview-android- Description
- Crear una APK Android TV (o movil) que envuelve una web EXISTENTE en un WebView modo kiosco/mural - auto-login respetando CSRF, fix de viewport por densidad, modo inmersivo, config protegida por PIN, auto-arranque al encender, auto-update con SHA-256 desde el propio servidor web, firma desde fichero externo e icono de marca. Usar cuando se pida "app para la tele", "APK del dashboard", "que la web salga en la television como app", kiosco Android TV, o envolver una web en WebView. Antes de escribir codigo Android conviene leer la regla Kotlin del kit (`rules/kotlin.md`). NOT para apps nativas con logica propia (Compose) ni para iOS.
- License
- MIT
- Instructions
- 88 lines in SKILL.md · view on GitHub
Files (3)
- SKILL.md
- patrones-codigo.md · references/
- pruebas-android.md · references/
SKILL.md (first lines)
# APK WebView para Android TV (kiosco/mural)
La APK es el "marco": todo el contenido vivo lo pone la web (se actualiza sin reinstalar).
Kotlin clasico SIN Compose (~2.4 MB), minSdk 23, sin cleartext (solo HTTPS).
**Estructura recomendada** (probada en hardware real): `MainActivity`, `BootReceiver`,
`data/{Config,SettingsStore,Updater}.kt`, `deploy-apk.sh` y un README con notas tecnicas.
Los fragmentos clave estan en `references/patrones-codigo.md`.
## Decisiones de diseño (validadas en produccion)
- **Usuario dedicado de solo-lectura** en la web para la tele (menor privilegio), creado por el
endpoint oficial de usuarios (deja audit trail). Credenciales en tu gestor de credenciales.
- **Credenciales cifradas** en el dispositivo: EncryptedSharedPreferences (API 23+).
- **Auto-login inyectando el formulario real** por JS (rellenar y submit): respeta el token
CSRF que pone el servidor. NO replicar el POST a mano.
- **Config por PIN** desde el mando (tecla MENU/INFO abre dialogo). BACK no cierra la app
(es un mural); para salir/reconfigurar: MENU → PIN.
- **Auto-update sin panel de flota**: la web sirve `/app/version.json` + la APK estatica;
la app compara versionCode al arrancar, descarga, VERIFICA SHA-256 e instala.
- **Keystore dedicado por cliente fuera del repo** (p. ej. `~/.credentials/clientes/<x>-firma.{jks,properties}`),
leido por build.gradle.kts; 30 años; SIN el keystore no hay updates instalables — no perderlo.
- **Auto-arranque opcional** (toggle en Ajustes): receiver BOOT_COMPLETED. En Android 10+
exige el permiso "Mostrar sobre otras apps" (ver patrones).
## Procedimiento
1. Crear el proyecto con la estructura recomendada, poner paquete, URLs (Config.kt) y marca.
JDK 17 + SDK en `~/Android/Sdk` (WSL).
2. Crear keystore nuevo (guardado fuera del repo) + usuario de solo-lectura en la web (endpoint oficial).
3. Adaptar los 4 puntos sensibles leyendo `references/patrones-codigo.md`:
auto-login (IDs del form real), viewport (ancho del diseño del mural), auto-arranque,
update-server (rutas en el servidor del proyecto).
4. Icono y banner de marca: leer **`../pwa-desde-web/references/iconos-de-marca.md`** (regla comun a
PWA y APK: siempre el logotipo del cliente, el sistema recorta, y las trampas de ImageMagick)
y luego "Icono" en `references/patrones-codigo.md` para lo de Android — NO usar adaptive-icon
con logos apilados (los recorta).
5. Probar: emulador Windows y despues TELE REAL — flujo completo en
`references/pruebas-android.md` (build WSL, adb.exe de Windows como puente).
6. Publicar: `deploy-apk.sh` (build + version.json con SHA-256) y subir `/app/` al servidor
web del proyecto. Commit sin la APK (gitignored; version.json si va en git).
## Errores conocidos (NO reintentar)
- **`initial-scale=1` en el meta viewport**: en densidad 2.0 hace 1 CSS px = 2 device px →
tarjetas gigantes. Solo `width=<px fisicos>` y dejar que loadWithOverviewMode escale.
- **adaptive-icon con dos logos apilados**: el zoom 72/108dp recorta el logo alto → usar
ic_launcher legacy recortado a circulo SIN zoom.
- **Launcher Google TV cachea iconos**: reinstalar NO refresca; `pm clear
com.google.android.apps.tv.launcherx` o `adb reboot`.
- **`am force-stop` deja la app en "stopped state"** → BOOT_COMPLETED ya no le llega hasta
abrirla a mano. No usar force-stop antes de probar el auto-arranque.
- **jq -r con clave inexistente imprime "null" literal** → verificar la clave real del fichero de credenciales
antes de inyectarla en formularios por adb.
- **adb wifi a la tele se cae solo** → reconectar `adb connect <ip>:5555`. Tras reboot de la
tele puede pedir REAUTORIZACION en pantalla (aceptar con el mando, "permitir siempre").
- **Firmas mezcladas**: si el dispositivo tiene la build debug, `install -r` de la release
falla (INSTALL_FAILED_UPDATE_INCOMPATIBLE). Desinstalar antes, o probar con debug.
- **El WebView da `net::ERR_TIMED_OUT` pero la app SÍ habla con el servidor** (latido/API propias
OK): mirar el **proxy global del sistema** ANTES que nada — `adb shell settings get global
http_proxy`. Un proxy huerfano de una sesion de depuracion (p.ej. `10.0.2.2:8092`, la IP del host en el emulador) lo respeta
Chromium pero no `HttpURLConnection`, asi que la app parece viva y la pantalla no carga.
Arreglo: `adb shell settings put global http_proxy :0` + reiniciar la app. (Descartar service
worker con `pm clear`, DNS con `-dns-server 8.8.8.8` e IPv6 mirando si el dominio tiene AAAA.)
- **La tele se apaga sola tras 4 h**: es el **apagado automatico por inactividad** de Android TV,
y `FLAG_KEEP_SCREEN_ON` NO lo evita (solo impide que se apague la pantalla, no que el televisor
se suspenda). Al despertar vuelve al launcher, no a la app. En CUALQUIER instalacion de mural:
Ajustes → Preferencias del dispositivo → Energia → "Apagar automaticamente: Nunca" +
salvapantallas desactivado. Sintoma tipico: el inventario marca la tele caida siempre a la misma
hora, y el uptime del ultimo latido es exactamente ~14.400 s.
## Referencias
- `references/patrones-codigo.md` — patrones clave con codigo: auto-login CSRF, viewport,
BootReceiver + permiso overlay, Updater SHA-256, firma desde fichero externo, iconos ImageMagick.
- `references/pruebas-android.md` — probar desde WSL con emulador Windows y tele real
(adb.exe puente, rellenar formularios por adb, validar reboot/auto-arranque).
## Auto-mejora
Al cerrar cada aplicacion practica de esta skill:
1. Registrar aprendizajes en `aprendizajes/<caso>.md` (o en esta seccion si es breve)
2. Si el patron es generalizable, actualizar el cuerpo de este SKILL.md
3. Si se descubre un error recurrente, añadirlo a "Errores conocidos"
Sin esta fase, la skill se fosiliza y pierde valor con el tiempo.From webcomunicasolutions/claude-code-toolkit, MIT.
More from webcomunicasolutions/claude-code-toolkit
- 0.567score
doc-specialist
webcomunicasolutions
Generate specialized Claude agents from scraped documentation libraries.
SkillAFreshness: AClaude Code +9 - 0.565score
critico
webcomunicasolutions
Archivo extendido de la actitud critica - casos reales, aprendizajes y el porque.
SkillAFreshness: AClaude Code +9 - 0.565score
bridge-watch
webcomunicasolutions
Modo guardia para Project Bridge.
SkillAFreshness: AClaude Code +9 - 0.565score
contexto-claude-code
webcomunicasolutions
Decidir DONDE va cada instruccion en Claude Code segun la doctrina oficial de Anthropic (2026) - CLAUDE.md, .claude/rules/ (con y sin paths), skills, auto…
SkillAFreshness: AClaude Code +9 - 0.561score
doc-maintenance
webcomunicasolutions
Mantenimiento de documentación y estructura de proyectos.
SkillAFreshness: AClaude Code +9 - 0.561score
autonomous-loops
webcomunicasolutions
Patrones para ejecutar Claude Code de forma autónoma en loops.
SkillAFreshness: AClaude Code +9 - 0.561score
api-design
webcomunicasolutions
Diseno de REST APIs - convenciones, response formats, pagination, auth, rate limiting.
SkillAFreshness: AClaude Code +9 - 0.561score
agentic-engineering
webcomunicasolutions
Patrones de ingenieria agentica - workflows dirigidos por IA con supervision humana.
SkillAFreshness: AClaude Code +9 - 0.539score
doc-coauthoring
webcomunicasolutions
Guide users through a structured workflow for co-authoring documentation.
SkillAFreshness: AClaude Code +9 - 0.471score
adversarial-review
webcomunicasolutions
Loop adversarial de revision de codigo con multiples agentes.
SkillCFreshness: CClaude Code +9 - 0.406score
database-migrations
webcomunicasolutions
Migraciones de base de datos seguras y reversibles.
SkillDFreshness: DClaude Code +9 - 0.406score
cost-aware-llm
webcomunicasolutions
Patrones para controlar costos de API de LLMs.
SkillDFreshness: DClaude Code +9
Signals
- Stars
- 0
- Forks
- 0
- Open issues
- 0
- Last commit (this folder)
- Oct 13, 2026 (17 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from webcomunicasolutions
- 0.567score
doc-specialist
webcomunicasolutions
Generate specialized Claude agents from scraped documentation libraries.
SkillAFreshness: AClaude Code +9 - 0.565score
contexto-claude-code
webcomunicasolutions
Decidir DONDE va cada instruccion en Claude Code segun la doctrina oficial de Anthropic (2026) - CLAUDE.md, .claude/rules/ (con y sin paths), skills, auto…
SkillAFreshness: AClaude Code +9 - 0.565score
bridge-watch
webcomunicasolutions
Modo guardia para Project Bridge.
SkillAFreshness: AClaude Code +9 - 0.565score
critico
webcomunicasolutions
Archivo extendido de la actitud critica - casos reales, aprendizajes y el porque.
SkillAFreshness: AClaude Code +9 - 0.561score
doc-maintenance
webcomunicasolutions
Mantenimiento de documentación y estructura de proyectos.
SkillAFreshness: AClaude Code +9 - 0.561score
api-design
webcomunicasolutions
Diseno de REST APIs - convenciones, response formats, pagination, auth, rate limiting.
SkillAFreshness: AClaude Code +9
Done for you
Rather not set it up yourself?
Chalk Labs scopes, builds and runs agents for your team: the task audit, the eval harness, the integrations and the weekly ops report. Fixed scope, priced before we start.
See how we build AI agents →Read the case studies
Chalk Labs is a two-founder AI and growth studio. We build AI agents, CRMs and MVPs for Web3 and AI companies, and have shipped 50+ product and token launches.
- launches shipped
- 50+
- launches shipped
- media placements
- 500+
- media placements
- founders on every account
- 2
- founders on every account
Press we've placed: Forbes · CoinDesk · Decrypt · Cointelegraph · The Block
Rahil Jain, Co-founder, Chalk Labs. Ex-Goldman Sachs engineer. You talk to the person who builds it.
Get apk-webview-android running in your business
Tell us what you want to automate. A founder replies within one working day with a plan, not a pitch deck.
Cite this page
apk-webview-android skill. Agent Mart. https://agentmart.dev/skills/webcomunicasolutions-apk-webview-android (last updated 2026-10-24)