Модернизация Android-приложения (APK) для фоновой работы 24/7 на Android 15 и серверного API на PHP/MySQL

Заказчик обратился с комплексом из 10 задач по доработке Android-приложения (APK) и серверной части на PHP/MySQL, а затем со вторым заказом — обеспечить бесперебойную работу фонового сервиса 24/7 на современных смартфонах с Android 12–15 при выключенном экране и обрывах связи.
Что было реализовано
Выполнена модернизация APK на уровне ресурсов и smali-кода под Android 15 (API 35): обновлены векторные и растровые иконки (mdpi–xxxhdpi), внедрен автозапуск рабочего сервиса при старте приложения и снижены паузы между заданиями с 30–60 до 1–2 секунд.
Реализовано удержание PARTIAL_WAKE_LOCK и WIFI_MODE_FULL_HIGH_PERF, запрос исключения из оптимизации батареи и автоматическое переключение на независимый фоновый WebView при блокировке экрана.
Устранен системный краш ForegroundServiceDidNotStartInTimeException на Android 12–15, добавлены автоперезапуск при смахивании задачи (onTaskRemoved), сторожевой таймер AlarmManager (каждые 90 сек) и автостарт при загрузке устройства (BootReceiver).
Настроено мгновенное пробуждение при смене сети Wi-Fi/LTE через ConnectivityManager и зеркалирование токена авторизации для защиты от разлогинивания при перезапуске сервиса.
Доработан серверный бэкенд на PHP 8.3 и MariaDB/MySQL: исправлен рассинхрон часовых поясов между PHP и MySQL (перевод расчетов на TIMESTAMPDIFF), добавлен почасовой таргетинг (168 часов недели) и система восстановления пароля с защитой от перебора.
Развернут локальный тестовый стенд и проведено автоматизированное тестирование (64 из 64 e2e-тестов успешно пройдены перед выкаткой на боевой сервер).


