# Установка и настройка ## 📋 Системные требования ### Общие требования - **.NET 9.0 SDK** - [Скачать](https://dotnet.microsoft.com/download/dotnet/9.0) - **Visual Studio 2022 17.8+** или **JetBrains Rider 2023.3+** - **Git** - для клонирования репозитория ### Требования по платформам #### Android - **Android SDK** - API Level 21 (Android 5.0) минимум, API 34 (Android 14) рекомендуется - **Java Development Kit (JDK) 17** или выше - **Android Emulator** или физическое устройство для тестирования #### iOS - **macOS** - требуется для сборки - **Xcode 15.0+** - [Скачать из Mac App Store](https://apps.apple.com/app/xcode/id497799835) - **iOS Simulator** или физическое устройство #### Windows - **Windows 10.0.19041.0** или выше - **Windows SDK** - устанавливается с Visual Studio #### MacCatalyst - **macOS 10.15** или выше - **Xcode 15.0+** ## 🚀 Установка ### 1. Клонирование репозитория ```powershell git clone https://github.com/your-company/corp-maui.git cd corp-maui ``` ### 2. Установка .NET MAUI workload ```powershell dotnet workload install maui ``` ### 3. Восстановление NuGet пакетов ```powershell dotnet restore ``` ## ⚙️ Настройка Android SDK ### Автоматическое определение .NET MAUI автоматически ищет Android SDK в стандартных путях: - Windows: `%LOCALAPPDATA%\Android\Sdk` - macOS/Linux: `~/Library/Android/sdk` или `~/Android/Sdk` ### Нестандартный путь Если Android SDK установлен в другом месте, создайте файл `Directory.Build.props` в корне решения: ```xml D:\Applications\Android\SDK ``` > **Важно:** Измените путь на ваш актуальный путь к Android SDK ### Переменные окружения (альтернатива) ```powershell # PowerShell $env:ANDROID_HOME = "D:\Applications\Android\SDK" # Постоянная установка (System Properties) [Environment]::SetEnvironmentVariable("ANDROID_HOME", "D:\Applications\Android\SDK", "User") ``` ### Проверка установки ```powershell # Список установленных SDK dotnet build -t:GetAndroidSdkPaths ``` ## 🔨 Сборка проекта ### Сборка для всех платформ ```powershell dotnet build CORP-MAUI.sln ``` ### Сборка для конкретной платформы ```powershell # Android dotnet build CORP-MAUI/CORP-MAUI.csproj -f net9.0-android # iOS dotnet build CORP-MAUI/CORP-MAUI.csproj -f net9.0-ios # Windows dotnet build CORP-MAUI/CORP-MAUI.csproj -f net9.0-windows10.0.19041.0 # MacCatalyst dotnet build CORP-MAUI/CORP-MAUI.csproj -f net9.0-maccatalyst ``` ### Использование скриптов (Android) Для удобной сборки Android созданы готовые скрипты: ```powershell # PowerShell (рекомендуется) .\build-android.ps1 # Batch .\build-android.bat ``` Скрипты автоматически: - Устанавливают переменную `ANDROID_HOME` - Выполняют сборку проекта - Выводят результат сборки ## 🏃 Запуск приложения ### Запуск в режиме разработки ```powershell # Android dotnet run -f net9.0-android --project CORP-MAUI/CORP-MAUI.csproj # iOS (требуется macOS) dotnet run -f net9.0-ios --project CORP-MAUI/CORP-MAUI.csproj # Windows dotnet run -f net9.0-windows10.0.19041.0 --project CORP-MAUI/CORP-MAUI.csproj ``` ### Запуск через IDE #### Visual Studio 2022 1. Откройте `CORP-MAUI.sln` 2. Выберите целевую платформу в выпадающем списке 3. Выберите устройство/эмулятор 4. Нажмите F5 или кнопку "Start Debugging" #### JetBrains Rider 1. Откройте `CORP-MAUI.sln` 2. В конфигурации запуска выберите Target Framework 3. Выберите устройство 4. Нажмите Shift+F10 или кнопку запуска ## 📦 Создание релизной сборки ### Android APK ```powershell dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-android -c Release ``` APK файл будет создан в: ``` CORP-MAUI/bin/Release/net9.0-android/publish/ ``` ### Android AAB (для Google Play) ```powershell dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-android -c Release -p:AndroidPackageFormat=aab ``` ### iOS IPA ```powershell dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-ios -c Release ``` ### Windows MSIX ```powershell dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-windows10.0.19041.0 -c Release ``` ## 🔧 Конфигурация приложения ### Изменение API URL Откройте `Services/ApiService.cs` и измените константу: ```csharp private const string BaseUrl = "https://your-api-server.com/api/v1/"; ``` ### Изменение WebSocket URL Откройте `Services/WebSocketService.cs` и измените массив URLs: ```csharp private readonly string[] _possibleWebSocketUrls = new[] { "wss://your-api-server.com/ws", "ws://your-api-server.com/ws", // ... другие варианты }; ``` ### Настройка AndroidManifest.xml Откройте `Platforms/Android/AndroidManifest.xml` для изменения: - Имени пакета - Разрешений - Минимальной версии Android ```xml ``` ### Настройка Info.plist (iOS) Откройте `Platforms/iOS/Info.plist` для изменения: - Bundle Identifier - Версии приложения - Разрешений ## 🐛 Решение проблем ### Android SDK не найден **Проблема:** Ошибка "Android SDK not found" **Решение:** 1. Установите переменную окружения `ANDROID_HOME` 2. Создайте `Directory.Build.props` с путем к SDK 3. Перезапустите IDE ### Ошибки при сборке Android **Проблема:** Ошибки Java или Android build tools **Решение:** 1. Проверьте установку JDK 17+ 2. Убедитесь, что установлены Android Build Tools 3. Очистите проект: `dotnet clean` 4. Удалите папки `bin` и `obj` ### Проблемы с подключением к API **Проблема:** Не удается подключиться к серверу **Решение:** 1. Проверьте URL в `ApiService.cs` и `WebSocketService.cs` 2. На Android эмуляторе используйте `10.0.2.2` для localhost 3. Убедитесь, что добавлено разрешение INTERNET ### Ошибки сертификатов SSL **Проблема:** SSL certificate validation failed **Решение для разработки:** Добавьте в `Platforms/Android/MainApplication.cs`: ```csharp #if DEBUG var handler = new HttpClientHandler { ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true }; #endif ``` > **Внимание:** Только для разработки! Не используйте в продакшене! ## 📚 Дополнительные ресурсы ### Документация - [.NET MAUI Documentation](https://docs.microsoft.com/dotnet/maui/) - [Android Developer Guide](https://developer.android.com/) - [iOS Developer Documentation](https://developer.apple.com/documentation/) ### Настройка Android Подробная инструкция по настройке Android SDK: [ANDROID_SETUP.md](../ANDROID_SETUP.md) ### API Документация Описание API endpoints: [API.md](API.md) ## 🔄 Обновление зависимостей ### Обновление .NET MAUI ```powershell dotnet workload update ``` ### Обновление NuGet пакетов ```powershell dotnet restore --force dotnet build ``` ### Проверка устаревших пакетов ```powershell dotnet list package --outdated ``` ## ✅ Проверка окружения Используйте команду для проверки установки всех необходимых компонентов: ```powershell dotnet workload list ``` Должны быть установлены: - `maui` - `maui-android` - `maui-ios` (только на macOS) - `maui-maccatalyst` (только на macOS) - `maui-windows` --- **Последнее обновление:** 2026-01-12