- Changed window size to mobile phone format (400x800) - Removed width condition for ActiveProxyFooter - now always visible - Added run-umbrix.sh launch script with icon copying - Stats cards now display on all screen sizes
6.3 KiB
6.3 KiB
🎯 Тестирование обновлений в эмуляторе
Как проверить систему обновлений
Подготовка (разовая настройка)
-
Запустите эмулятор:
flutter emulators --launch UmbrixTest -
Установите текущую версию:
flutter run -
Настройте тестовый сервер (выберите один из вариантов):
Вариант А: Локальный PHP сервер (проще)
# Перейдите в папку с сервером
cd update-server
# Запустите встроенный PHP сервер
php -S localhost:8000
# Сервер будет доступен по адресу: http://localhost:8000
Затем в constants.dart укажите:
static const customUpdateServerUrl = "http://10.0.2.2:8000/api.php";
// 10.0.2.2 - это localhost для Android эмулятора
static const useCustomUpdateServer = true;
Вариант Б: Ngrok (если нужен HTTPS)
# В одном терминале запустите PHP
cd update-server
php -S localhost:8000
# В другом терминале запустите ngrok
ngrok http 8000
# Скопируйте HTTPS URL (например: https://abc123.ngrok.io)
Затем в constants.dart:
static const customUpdateServerUrl = "https://abc123.ngrok.io/api.php";
static const useCustomUpdateServer = true;
Тестирование обновления
1. Установите старую версию
В pubspec.yaml установите версию 2.5.6:
version: 2.5.6+256
Пересоберите и установите:
flutter build apk --release
flutter install
2. Настройте сервер на новую версию
Отредактируйте update-server/latest.json:
{
"version": "2.5.7",
"build_number": "257",
"download_url": "http://10.0.2.2:8000/downloads/umbrix-2.5.7.apk"
}
3. Создайте APK новой версии
Вернитесь к версии 2.5.7 в pubspec.yaml:
version: 2.5.7+257
Соберите APK:
flutter build apk --release
Скопируйте APK в папку downloads:
cp build/app/outputs/flutter-apk/app-release.apk \
update-server/downloads/umbrix-2.5.7.apk
4. Проверьте обновление
- Откройте приложение (версия 2.5.6)
- Зайдите в Настройки → О программе
- Нажмите "Проверить обновления"
- Должно появиться окно с предложением обновиться до 2.5.7
- Нажмите "Обновить сейчас"
- Скачается и установится новая версия
Отладка
Проверить API в браузере:
# Если используете локальный сервер
curl http://localhost:8000/api.php
# Должны увидеть JSON:
{
"version": "2.5.7",
"build_number": "257",
...
}
Проверить из эмулятора:
# Подключитесь к эмулятору через adb
adb shell
# Проверьте доступность сервера
curl http://10.0.2.2:8000/api.php
Смотреть логи приложения:
adb logcat | grep -i "update\|umbrix"
Частые проблемы
Проблема: "Не удается подключиться к серверу"
Решение:
- Используйте
10.0.2.2вместоlocalhostдля эмулятора - Проверьте, что PHP сервер запущен
- Проверьте firewall
Проблема: "Обновление не отображается"
Решение:
- Убедитесь, что версия в
latest.jsonбольше текущей - Проверьте
useCustomUpdateServer = trueвconstants.dart - Пересоберите приложение после изменения констант
Проблема: "Ошибка при скачивании APK"
Решение:
- Проверьте, что файл
umbrix-2.5.7.apkсуществует в папкеdownloads/ - Проверьте права доступа:
chmod 644 umbrix-2.5.7.apk - Убедитесь, что URL правильный
Пример полного цикла тестирования
# 1. Запустить PHP сервер
cd update-server
php -S localhost:8000 &
# 2. Изменить версию на старую
sed -i 's/version: 2.5.7/version: 2.5.6/' pubspec.yaml
# 3. Установить старую версию
flutter build apk --release
flutter install
# 4. Вернуть новую версию
sed -i 's/version: 2.5.6/version: 2.5.7/' pubspec.yaml
# 5. Собрать новый APK
flutter build apk --release
cp build/app/outputs/flutter-apk/app-release.apk \
update-server/downloads/umbrix-2.5.7.apk
# 6. Проверить API
curl http://localhost:8000/api.php
# 7. Открыть приложение и проверить обновления
Готовые команды
Сохраните в test_update.sh:
#!/bin/bash
echo "🚀 Тестирование системы обновлений"
# Запуск PHP сервера
cd update-server
php -S localhost:8000 > /dev/null 2>&1 &
PHP_PID=$!
echo "✅ PHP сервер запущен (PID: $PHP_PID)"
# Ждем запуска
sleep 2
# Проверка API
echo "🔍 Проверка API..."
curl -s http://localhost:8000/api.php | jq .
echo ""
echo "📱 Теперь:"
echo "1. Откройте приложение"
echo "2. Зайдите в Настройки → О программе"
echo "3. Нажмите 'Проверить обновления'"
echo ""
echo "Для остановки сервера: kill $PHP_PID"
Сделайте исполняемым и запустите:
chmod +x test_update.sh
./test_update.sh
✅ Готово! Теперь вы можете полностью протестировать систему обновлений!