68 lines
1.8 KiB
Markdown
68 lines
1.8 KiB
Markdown
# Lokaler Build
|
|
|
|
## Voraussetzungen
|
|
|
|
- Android Studio mit JDK 17
|
|
- Android SDK Platform 35
|
|
- Android SDK Build-Tools für API 35
|
|
- Internetzugriff auf Google Maven, Maven Central und die Gradle-Distribution beim ersten Build
|
|
|
|
Minimum SDK der App ist 26. Zugangsdaten gehören nicht in `local.properties`, Gradle-Dateien oder Quellcode; sie werden erst in der App eingegeben.
|
|
|
|
## Projekt öffnen
|
|
|
|
1. Das Projektverzeichnis in Android Studio öffnen.
|
|
2. Falls nötig, in `local.properties` ausschließlich den lokalen SDK-Pfad setzen, zum Beispiel:
|
|
|
|
```properties
|
|
sdk.dir=/home/user/Android/Sdk
|
|
```
|
|
|
|
3. Gradle synchronisieren.
|
|
4. Die Build-Variante `debug` wählen.
|
|
|
|
## Kommandozeile
|
|
|
|
Linux/macOS:
|
|
|
|
```bash
|
|
./gradlew test
|
|
./gradlew lintDebug
|
|
./gradlew assembleDebug
|
|
```
|
|
|
|
Windows:
|
|
|
|
```bat
|
|
gradlew.bat test
|
|
gradlew.bat lintDebug
|
|
gradlew.bat assembleDebug
|
|
```
|
|
|
|
Das Debug-APK liegt anschließend unter:
|
|
|
|
```text
|
|
app/build/outputs/apk/debug/app-debug.apk
|
|
```
|
|
|
|
## Installation
|
|
|
|
Bei verbundenem Gerät oder Emulator:
|
|
|
|
```bash
|
|
adb install -r app/build/outputs/apk/debug/app-debug.apk
|
|
```
|
|
|
|
## Ersteinrichtung
|
|
|
|
1. App öffnen und `Einstellungen` wählen.
|
|
2. Server-URL, Basic-Auth-Benutzername und Passwort eingeben.
|
|
3. `Speichern & Verbindung testen` ausführen.
|
|
4. Die App prüft zuerst den Host-Health-Endpunkt und danach den authentifizierten Tracker-Health-Endpunkt.
|
|
|
|
Debug-Builds erlauben für lokale Entwicklung auch HTTP. Release-Builds akzeptieren durch Manifest, Network Security Configuration und Laufzeitprüfung ausschließlich HTTPS.
|
|
|
|
## Gradle Wrapper
|
|
|
|
`gradle/wrapper/gradle-wrapper.jar` ist ein kleines, im Repository enthaltenes Bootstrap-Programm. Es lädt Gradle 8.11.1 in den üblichen Wrapper-Cache, prüft die Distribution anhand der mitgelieferten SHA-256-Datei und startet anschließend Gradle. Dadurch enthält das Projekt keine lokal installierte Gradle-Abhängigkeit.
|