TPP Kierowca
Natywna aplikacja Android Jetpack Compose dla kierowcow TPP.
Funkcje
- Logowanie numerem telefonu i kodem OTP.
- Lista dzisiejszych kursow kierowcy.
- Szczegoly kursu: relacja, kontrakt, status, pojazd i notatki.
- Dodawanie zdjec ladunku z aparatu lub galerii.
- Podglad zdjec ladunku w aplikacji.
Build
./gradlew :app:assembleDebug
Testy
./gradlew :app:testDebugUnitTest
Release Gitea i Google Play
Przed wydaniem zapisz wszystkie zmiany źródłowe w commicie. Następnie uruchom:
./scripts/release-android.sh
Skrypt automatycznie zwiększa versionCode i ostatni człon versionName, uruchamia testy,
buduje podpisany APK oraz AAB, a po poprawnym buildzie pyta, czy wysłać aktualizację do
Google Play. Po odpowiedzi „tak” publikuje AAB w skonfigurowanym teście zamkniętym i
wysyła zmiany do weryfikacji. Następnie tworzy commit wersji, tag, push i Gitea Release.
Artefakty zostają również zapisane lokalnie w release-artifacts/<tag>/.
Do publikacji Google Play konto serwisowe musi mieć dla aplikacji
pl.firmatpp.kierowca uprawnienia „Wyświetlanie informacji o aplikacji (tylko do odczytu)”
oraz „Publikowanie aplikacji na ścieżkach testowych”. Pobrany klucz JSON umieść
bezpośrednio w folderze scripts, na przykład:
scripts/google-play-service-account.json
Skrypt sam znajduje jedyny plik scripts/*.json, sprawdza, czy jest prawidłowym kluczem
konta serwisowego, i używa go do autoryzacji. Pliki scripts/*.json są ignorowane przez
Git i nie mogą zostać przypadkowo dodane do repozytorium. Jeśli w folderze znajduje się
więcej niż jeden prawidłowy klucz, skrypt przerwie działanie i poprosi o pozostawienie
jednego.
GOOGLE_PLAY_TRACK musi być identyfikatorem istniejącego testu zamkniętego. Domyślna
wartość to alpha. Opcjonalnie można ustawić GOOGLE_PLAY_PACKAGE_NAME i
GOOGLE_PLAY_RELEASE_LANGUAGE (domyślnie pl-PL). Zmienna
GOOGLE_PLAY_SERVICE_ACCOUNT_CREDENTIALS pozostaje opcjonalnym sposobem wskazania klucza
spoza folderu scripts. Skrypt nie zapisuje tokenu ani klucza w repozytorium; prywatny
klucz tymczasowy jest usuwany po zakończeniu.
Przed zatwierdzeniem skrypt waliduje edycję Google Play. Commit edycji jawnie wysyła zmiany do weryfikacji. Jeżeli inne zmiany są już sprawdzane, skrypt nie anuluje ich — kończy się błędem i można go wznowić po zakończeniu poprzedniej weryfikacji. Jeżeli na koncie jest włączone publikowanie zarządzane, po akceptacji Google nadal trzeba wybrać „Opublikuj zmiany” w Play Console; bez publikowania zarządzanego zaakceptowane wydanie zostanie udostępnione testerom automatycznie.
Awaryjne wydanie wyłącznie do Gitea, bez Google Play:
./scripts/release-android.sh --skip-google-play
W środowisku bez interaktywnego terminala decyzję trzeba podać jawnie:
./scripts/release-android.sh --publish-google-play
Do autoryzacji Gitea używany jest GITEA_TOKEN albo dane zapisane w Git credential helper.
Jeśli publikacja została przerwana już po utworzeniu commita wersji, można ją wznowić:
./scripts/release-android.sh --reuse-current