Skip to content

Latest commit

 

History

History

README.md

android — Capacitor wrapper

A Capacitor shell that packages the web/ PWA as a native Android app (me.lleo.telefon). There is no app-specific Java beyond the generated MainActivity; the whole UI is the web app rendered in a WebView, so calls and crypto work exactly as in the browser build.

Layout

capacitor.config.json   appId / appName / webDir
package.json            @capacitor/{core,cli,android}
android/                the Capacitor Android platform project (Gradle)

The web assets are not committed here. npx cap sync copies web/ into android/app/src/main/assets/public/ at build time (that path is .gitignored). The webDir in capacitor.config.json points at the web build you want to bundle.

Prerequisites

  • Node ≥ 22
  • JDK 21
  • Android SDK (command-line tools are enough; Android Studio optional)

Build

cd android
npm install                 # installs Capacitor CLI + platform deps

# Make the web assets available to Capacitor (point webDir at ../web, or
# copy/symlink the built web/ into the location capacitor.config.json
# expects), then sync them into the Android project:
npx cap sync

cd android
./gradlew assembleDebug     # -> app/build/outputs/apk/debug/app-debug.apk

For a release build use ./gradlew assembleRelease with your own signing config (no keystore is committed).

Notes

  • local.properties, *.apk, build/, .gradle/, and the copied assets/public/ are all .gitignored — they are regenerated by cap sync / Gradle.
  • The app needs camera + microphone permissions for calls; these are declared in android/app/src/main/AndroidManifest.xml.