#!/bin/bash # Auto-rebuild on file changes # Requires: fswatch (install via: brew install fswatch) echo "👀 Watching for changes..." echo "📝 Редактируйте файлы - приложение будет пересобираться автоматически" echo "" # Check if fswatch is installed if ! command -v fswatch &> /dev/null; then echo "⚠️ fswatch не установлен!" echo "📦 Установите через: brew install fswatch" echo "" echo "Или используйте ./dev.sh для ручной пересборки" exit 1 fi # Ensure emulator is running if ! adb devices | grep -q "emulator"; then echo "🚀 Запускаю эмулятор..." $ANDROID_HOME/emulator/emulator -avd Pixel_9_Pro_API_35 & adb wait-for-device while [ "$(adb shell getprop sys.boot_completed 2>/dev/null | tr -d '\r')" != "1" ]; do sleep 2 done fi echo "✅ Эмулятор готов!" echo "" # Initial build ./gradlew installDebug adb shell am start -n com.rosetta.messenger/.MainActivity echo "" echo "👂 Слежу за изменениями в app/src/main/java..." echo "" # Watch for changes in Kotlin files fswatch -o app/src/main/java | while read f; do echo "🔄 Изменение обнаружено! Пересобираю..." ./gradlew installDebug --no-daemon if [ $? -eq 0 ]; then echo "✅ Обновлено! Перезапускаю приложение..." adb shell am force-stop com.rosetta.messenger sleep 1 adb shell am start -n com.rosetta.messenger/.MainActivity echo "🎉 Готово!" else echo "❌ Ошибка сборки" fi echo "" echo "👂 Жду следующих изменений..." done