# Android native project (skeleton) Generated by hand for task #65 (Phase 08). The committed structure is intentionally minimal — operators with Android Studio installed should run: ```bash cd apps/mobile rm -rf android npx cap add android npx cap sync android ``` …to overwrite this skeleton with the canonical Capacitor CLI output. Application id, app name and webDir are sourced from `apps/mobile/capacitor.config.ts` and stay stable across regenerations. ## Layout ``` android/ ├── build.gradle # Top-level build config (AGP 8.7.2) ├── settings.gradle # Module includes + plugin paths ├── capacitor.settings.gradle # Per-plugin Gradle modules ├── gradle.properties # JVM heap + AndroidX ├── gradle/wrapper/ │ └── gradle-wrapper.properties # Gradle 8.11.1 └── app/ ├── build.gradle # applicationId, sdk, deps, FCM hook ├── capacitor.build.gradle # Plugin module includes └── src/main/ ├── AndroidManifest.xml # Permissions, intent-filters, FileProvider ├── java/de/toolctrl/app/MainActivity.java # BridgeActivity └── res/ ├── values/strings.xml ├── values/styles.xml ├── values/colors.xml ├── xml/file_paths.xml └── xml/network_security_config.xml ``` ## Signing & store submission Operator-owned. See `docs/operations/capacitor.md` for the full Play-Console runbook (keystore generation, Gradle signing config, service-account JSON, internal-track upload). ## Push notifications `google-services.json` must be dropped into `android/app/` before any release build. The plugin is wired conditionally in `app/build.gradle` so debug builds without the file still compile.