corp-app/TECHDOC/SETUP.md

9.1 KiB
Raw Permalink Blame History

Установка и настройка

📋 Системные требования

Общие требования

  • .NET 9.0 SDK - Скачать
  • 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

Windows

  • Windows 10.0.19041.0 или выше
  • Windows SDK - устанавливается с Visual Studio

MacCatalyst

  • macOS 10.15 или выше
  • Xcode 15.0+

🚀 Установка

1. Клонирование репозитория

git clone https://github.com/your-company/corp-maui.git
cd corp-maui

2. Установка .NET MAUI workload

dotnet workload install maui

3. Восстановление NuGet пакетов

dotnet restore

⚙️ Настройка Android SDK

Автоматическое определение

.NET MAUI автоматически ищет Android SDK в стандартных путях:

  • Windows: %LOCALAPPDATA%\Android\Sdk
  • macOS/Linux: ~/Library/Android/sdk или ~/Android/Sdk

Нестандартный путь

Если Android SDK установлен в другом месте, создайте файл Directory.Build.props в корне решения:

<Project>
  <PropertyGroup>
    <AndroidSdkDirectory>D:\Applications\Android\SDK</AndroidSdkDirectory>
  </PropertyGroup>
</Project>

Важно: Измените путь на ваш актуальный путь к Android SDK

Переменные окружения (альтернатива)

# PowerShell
$env:ANDROID_HOME = "D:\Applications\Android\SDK"

# Постоянная установка (System Properties)
[Environment]::SetEnvironmentVariable("ANDROID_HOME", "D:\Applications\Android\SDK", "User")

Проверка установки

# Список установленных SDK
dotnet build -t:GetAndroidSdkPaths

🔨 Сборка проекта

Сборка для всех платформ

dotnet build CORP-MAUI.sln

Сборка для конкретной платформы

# 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 (рекомендуется)
.\build-android.ps1

# Batch
.\build-android.bat

Скрипты автоматически:

  • Устанавливают переменную ANDROID_HOME
  • Выполняют сборку проекта
  • Выводят результат сборки

🏃 Запуск приложения

Запуск в режиме разработки

# 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

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)

dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-android -c Release -p:AndroidPackageFormat=aab

iOS IPA

dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-ios -c Release

Windows MSIX

dotnet publish CORP-MAUI/CORP-MAUI.csproj -f net9.0-windows10.0.19041.0 -c Release

🔧 Конфигурация приложения

Изменение API URL

Откройте Services/ApiService.cs и измените константу:

private const string BaseUrl = "https://your-api-server.com/api/v1/";

Изменение WebSocket URL

Откройте Services/WebSocketService.cs и измените массив URLs:

private readonly string[] _possibleWebSocketUrls = new[]
{
    "wss://your-api-server.com/ws",
    "ws://your-api-server.com/ws",
    // ... другие варианты
};

Настройка AndroidManifest.xml

Откройте Platforms/Android/AndroidManifest.xml для изменения:

  • Имени пакета
  • Разрешений
  • Минимальной версии Android
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
          package="com.yourcompany.corpmaui">
    <uses-sdk android:minSdkVersion="21" android:targetSdkVersion="34" />
    <uses-permission android:name="android.permission.INTERNET" />
</manifest>

Настройка 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:

#if DEBUG
    var handler = new HttpClientHandler
    {
        ServerCertificateCustomValidationCallback = (message, cert, chain, errors) => true
    };
#endif

Внимание: Только для разработки! Не используйте в продакшене!

📚 Дополнительные ресурсы

Документация

Настройка Android

Подробная инструкция по настройке Android SDK: ANDROID_SETUP.md

API Документация

Описание API endpoints: API.md

🔄 Обновление зависимостей

Обновление .NET MAUI

dotnet workload update

Обновление NuGet пакетов

dotnet restore --force
dotnet build

Проверка устаревших пакетов

dotnet list package --outdated

✅ Проверка окружения

Используйте команду для проверки установки всех необходимых компонентов:

dotnet workload list

Должны быть установлены:

  • maui
  • maui-android
  • maui-ios (только на macOS)
  • maui-maccatalyst (только на macOS)
  • maui-windows

Последнее обновление: 2026-01-12