OpenCode AI e9899d2e6d
Some checks failed
Android CI Build / check (push) Has been cancelled
Android CI Build / package-apks (push) Has been cancelled
Docs Deploy / build (push) Has been cancelled
Module Market Check / Validate modules/ (push) Has been cancelled
Module Market Publish / Generate submissions.json (push) Has been cancelled
Docs Deploy / deploy (push) Has been cancelled
Initial DruksCode V2: fresh fork of web-to-app (f3b488e) with DruksCode identity
- Package rename com.webtoapp -> br.com.drukstech.codeapp
- Product rename WebToApp/web-to-app -> DruksCode/drukscode
- Design system Wta* -> Dkc*
- applicationId br.com.drukstech.codeapp (.play for gplay flavor)
- rootProject.name DruksCode
- Fresh git history (upstream kept as remote for sync)
2026-09-12 02:42:02 +02:00

37 lines
1.8 KiB
Markdown

# Build APK
Builds and signs an installable APK from the app. Tap ⋮ on an app card, then **Build APK**.
## The build dialog
- **Browser engine** — System WebView or GeckoView (GeckoView downloads on first use).
- **Resource encryption** — PBKDF2 + AES-256-GCM for packaged config/HTML/media/BGM, with an optional custom password. Enabling it activates runtime hardening (anti-debug, anti-Frida, DEX-tamper) and always forces a full rebuild.
- **Isolation** — per-app isolation of storage, WebRTC, Canvas, Audio, WebGL, fonts, headers, and IP surfaces.
- **Background run** — keep the app's service alive in the background.
- **Notifications** — scheduled/persistent notifications, URL-polling foreground service, deep links.
- **Force full rebuild** — skip incremental caching.
- **Version code** — auto-suggests the next version code when a custom package name is already installed.
A **preflight check** runs first and reports blocking errors. After a successful build you can jump to [AAB export](/guide/more-features/google-play).
## What happens
DruksCode patches the shell template, embeds your config and content, prunes unused permissions, and signs the result (V1/V2/V3).
## Incremental rebuilds
| Mode | When |
| --- | --- |
| `FULL` | Template or identity changed; always for encrypted builds |
| `CONTENT_OVERLAY` | Only app content changed |
| `REUSE_UNSIGNED` | Re-sign a previously built unsigned APK |
Cache keys are content hashes, never timestamps. Never feed a signed/renamed APK back as a template.
## Signing
- **Keystore** — create/import/manage keys (PKCS12/PFX/JKS/BKS).
- **Schemes** — V1/V2/V3 independently controlled, with legacy auto-fallback and a custom V1 signer filename.
Outputs land in the [File Manager](/guide/more-features/file-manager).