# iistwin — Android APK (Expo EAS) Мобильное приложение для Android, собранное через Expo EAS облачный сервис. Это WebView-обёртка над веб-версией — обновления функционала происходят автоматически при деплое. **Production URL:** `https://iistwin.ru` **Expo проект:** https://expo.dev/accounts/iisultanov/projects/iistwin ## Настройка EXPO_TOKEN 1. Открой https://expo.dev/settings/access-tokens 2. Нажми **Create token**, скопируй значение (~40 символов латиницы) 3. В Replit: левая панель → 🔒 **Secrets** → добавь `EXPO_TOKEN` = твой токен ## Сборка APK (одна команда) ```bash cd mobile && npm run build ``` Команда автоматически: 1. Генерирует keystore и `credentials.json` если их нет 2. Запускает облачную сборку на серверах Expo (10-20 мин) APK доступен после сборки: https://expo.dev/accounts/iisultanov/projects/iistwin/builds ## Установка APK на Android 1. Скачай `.apk` с expo.dev → проект → Builds 2. На Android: **Настройки → Безопасность → Установка из неизвестных источников** 3. Установи APK ## Настройка паролей подписи (опционально) По умолчанию keystore генерируется с паролями по умолчанию. Для кастомных паролей добавь секреты в Replit: - `ANDROID_KEYSTORE_PASSWORD` — пароль keystore - `ANDROID_KEY_PASSWORD` — пароль ключа - `ANDROID_KEY_ALIAS` — алиас ключа (по умолчанию: iistwin) ## Обновление приложения - **Изменения UI, форм, функционала** — автоматически при деплое, APK переустанавливать не нужно - **Изменения нативного кода** (иконка, разрешения) — нужна новая сборка EAS ## Безопасность - `mobile/credentials/` и `mobile/credentials.json` в `.gitignore` — не попадают в VCS - Файлы создаются динамически через `scripts/setup-android-creds.sh` - WebView доступен только для origin: `https://iistwin.ru` - Внешние ссылки открываются в браузере устройства ## Структура ``` mobile/ ├── App.js # WebView — только production origin, кнопка "назад" ├── app.json # projectId=18e993b2, owner=iisultanov ├── eas.json # preview → buildType: apk ├── credentials.json.example # Шаблон (не коммитится) ├── package.json # npm run build = setup + EAS └── assets/icon.png scripts/ ├── setup-android-creds.sh # Генерирует keystore и credentials.json └── eas-build.exp # Expect-скрипт для EAS CLI ```