YourPart Native Android
Native Android-App fuer YourPart als paralleler Aufbau zur bestehenden Capacitor-App.
Entscheidungen
- Pfad:
/android/native - Sprache: Kotlin
- UI: Jetpack Compose
- App-ID Debug/Local:
de.yourpart.nativeapp.local.debug - App-ID Production Release:
de.yourpart.nativeapp - minSdk: 26
- compileSdk/targetSdk: 36
- Flavors:
local,staging,production - Build Types:
debug,release - Feature Flags im Build:
FEATURE_ADMIN,FEATURE_ADULT,FEATURE_3D,FEATURE_MINIGAMES,FEATURE_PUSH
Kommandos
cd android/native
../android/gradlew -p . :app:assembleLocalDebug
../android/gradlew -p . :app:installLocalDebug
./scripts/assemble-local-debug.sh
Emulator-Backend
Der Android-Emulator erreicht den Host-Rechner ueber 10.0.2.2.
Der local Flavor nutzt:
- API:
http://10.0.2.2:2020 - Socket.IO:
http://10.0.2.2:2020 - Daemon:
ws://10.0.2.2:2021
Security
- Debug erlaubt Cleartext nur fuer
10.0.2.2undlocalhost. - Release verbietet Cleartext komplett.
- Release-Builds pruefen automatisch, dass keine lokalen oder unverschluesselten URLs in
stagingoderproductionverwendet werden.
Firebase Push
- Die registrierte Produktions-App
de.yourpart.nativeappalsapp/google-services.jsonablegen. Die Beispieldateiapp/google-services.json.exampleist kein gültiger Ersatz. - Push ist ausschließlich in
productionReleaseaktiviert.localundstagingverwenden abweichende Paketnamen und bleiben absichtlich pushfrei, bis dafür eigene Firebase-Apps registriert sind. - Im Backend eine Firebase-Service-Account-Datei außerhalb des Repositories bereitstellen
und
FIREBASE_SERVICE_ACCOUNT_PATH=/sicherer/pfad/firebase-service-account.jsonsetzen. Alternativ kannFIREBASE_SERVICE_ACCOUNT_JSONmit dem JSON-Inhalt gesetzt werden. Ohne eine dieser Variablen werden keine Pushes versendet, die App und die API bleiben aber funktionsfähig.
Das Google-Services-Plugin wird nur für productionRelease mit vorhandener echter
Konfigurationsdatei angewendet; lokale Builds bleiben dadurch reproduzierbar.