62 lines
2.3 KiB
Markdown
62 lines
2.3 KiB
Markdown
# deskhub Android
|
|
|
|
Ersteller: M_Viper
|
|
Produktname: deskhub
|
|
|
|
Dieses Verzeichnis ist das vollständige, eigenständig baubare Android-Projekt für deskhub-Mitarbeiter.
|
|
Die App ist nativ in Kotlin mit Jetpack Compose und Material 3 implementiert; sie enthält weder WebView
|
|
noch PWA-Wrapper.
|
|
|
|
## Funktionsumfang
|
|
|
|
- Mitarbeiter-Login mit optionalem TOTP
|
|
- Keystore-geschützte, widerrufbare API-Anmeldung
|
|
- Ticketliste mit Volltextsuche sowie Status-, Zuständigkeits- und Abteilungsfiltern
|
|
- Ticketdetails mit vollständigem Verlauf und internen Kommentaren
|
|
- Änderung von Status und zuständiger Person
|
|
- öffentliche Antworten und interne Notizen
|
|
- Lade-, Leer- und Fehlerzustände sowie serverseitiger Logout
|
|
|
|
Die App fragt beim Login die HTTPS-Adresse der deskhub-Installation ab, beispielsweise
|
|
`https://support.example.de` oder `https://example.de/deskhub`. Klartext-HTTP ist nicht zugelassen.
|
|
|
|
## Debug-APK bauen
|
|
|
|
Voraussetzungen: JDK 17 und Android SDK 34.
|
|
|
|
```powershell
|
|
Set-Location C:\Users\Viper\Desktop\deskhub\mobile
|
|
.\gradlew.bat testDebugUnitTest assembleDebug
|
|
```
|
|
|
|
Der Build exportiert die direkt installierbare, mit dem Android-Debugschlüssel signierte APK nach:
|
|
|
|
`artifacts\deskhub-employee-debug.apk`
|
|
|
|
Die normale Gradle-Ausgabe liegt unter `build\outputs\apk\debug\DeskHubMobile-debug.apk`.
|
|
|
|
## Produktiv signierte Release-APK
|
|
|
|
Der kundeneigene Keystore bleibt außerhalb des Projekts:
|
|
|
|
```powershell
|
|
keytool -genkeypair -v -keystore C:\secure\deskhub-release.jks -alias deskhub `
|
|
-keyalg RSA -keysize 4096 -validity 10000
|
|
```
|
|
|
|
Pfad und Zugangsdaten werden nur über Umgebungsvariablen bereitgestellt:
|
|
|
|
```powershell
|
|
$env:JAVA_HOME = 'C:\Program Files\Eclipse Adoptium\jdk-17.0.16.8-hotspot'
|
|
$env:DESKHUB_RELEASE_STORE_FILE = 'C:\secure\deskhub-release.jks'
|
|
$env:DESKHUB_RELEASE_STORE_PASSWORD = '<Keystore-Passwort>'
|
|
$env:DESKHUB_RELEASE_KEY_ALIAS = 'deskhub'
|
|
$env:DESKHUB_RELEASE_KEY_PASSWORD = '<Schlüssel-Passwort>'
|
|
.\build-release.ps1
|
|
```
|
|
|
|
Das Skript erzeugt eine minifizierte, produktiv signierte APK unter
|
|
`artifacts\deskhub-employee-release.apk`. Schlüssel und Passwörter werden nicht eingecheckt.
|
|
|
|
**Play Store:** Schritt-für-Schritt-Anleitung (Keystore mit `new-keystore.ps1`, AAB mit `build-release.ps1`, Play Console) in `VEROEFFENTLICHEN.md`.
|