Как настроить среду и собрать Android‑приложение на Java и .NET в 2026

Краткий ответ: используйте Android Studio с JDK 21/24 для нативной Java‑разработки и Visual Studio + .NET MAUI (net10) для C#. Настройте SDK 36, соберите через Gradle или dotnet publish, подпишите релизный APK/AAB и загрузите в Google Play с требуемым targetSdk 36.

Настройка Java (Android Studio)

  1. Установите Android Studio (версия Koala или новее). При установке выберите Standard setup — установщик подтянет SDK, эмулятор и необходимые инструменты.
  2. В SDK Manager установите: Android SDK Platform 36, Build-Tools 36.x, платформенные инструменты, System Image для эмулятора.
  3. JDK: укажите JDK 21 или 24 в File > Project Structure > SDK Location. Рекомендуется стабильный OpenJDK‑дистрибутив.
  4. Создайте проект: New Project > Empty Activity (Java). В модуле app в build.gradle используйте:
    • compileSdk 36
    • targetSdk 36
    • minSdk по требованию (например 24)
    • sourceCompatibility/targetCompatibility — JavaVersion.VERSION_21
  5. Быстрая сборка:
    • Debug: ./gradlew assembleDebug или Build > Build APK(s).
    • Release (AAB): ./gradlew bundleRelease
  6. Подпись релиза:
    • Создайте keystore: keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -keysize 2048 -validity 10000
    • Используйте Generate Signed Bundle/APK в Android Studio или настройки signingConfigs в Gradle.

Для уменьшения размера используйте R8/ProGuard и Dynamic Feature Modules. Bundletool (версия 1.17+) помогает оптимизировать AAB.

Настройка .NET MAUI (Visual Studio)

  1. Установите Visual Studio 2022/2026 с workload ".NET Multi-platform App UI". Через инсталлятор добавьте Android SDK 36 и эмуляторные образы.
  2. Создайте проект: File > New > .NET MAUI App. В .csproj настройте целевую платформу для Android: net10.0-android36.0 aab
  3. Сборка:
    • Debug: Build > Run (эмулятор или USB-устройство).
    • Релиз: dotnet publish -f net10.0-android -c Release -p:AndroidPackageFormat=aab
  4. Подпись (пример для publish): dotnet publish -f net10.0-android -c Release
    /p:AndroidKeyStore=true
    /p:AndroidSigningKeyAlias=alias
    /p:AndroidSigningKeyStore=path/to/keystore.p12
    /p:AndroidSigningKeyStorePassword=STOREPASS
    /p:AndroidSigningKeyPass=KEYPASS
  5. Hot Reload/Hot Restart ускоряют итерации: включайте их для UI‑правок.

Проверьте, что используемый Android SDK соответствует требованиям публикации в Google Play: новые приложения требуют targetSdk 36.

Сборка, подпись и оптимизация

  • Форматы: AAB предпочтительнее для Play — динамическая доставка уменьшает размер приложения.
  • Подпись: всегда храните keystore и пароли в безопасном месте; для CI используйте секреты (Key Vault/Secrets).
  • CI/CD: для Java — gradle wrapper (./gradlew assembleRelease, bundleRelease); для .NET — dotnet build/publish с параметрами подписи.
  • Оптимизация: включите R8, включите tree shaking и trimming (для MAUI используйте PublishTrimmed, но тестируйте тщательно).
  • Тестирование: используйте эмуляторы API 36 и реальные устройства; автоматизированные тесты запускайте в эмуляторе или с помощью device farm.

Частые ошибки

  • Неправильный targetSdk (ниже 36) — отклонение при публикации.
  • Неподписанный релизный пакет — отклонение в Play Console.
  • Проблемы с JDK‑версией: несовместимость Gradle плагина и JDK24 — используйте рекомендованную версию в проекте.
  • Для MAUI: отсутствие нужных Android‑компонентов в Visual Studio Installer — приложение не соберется.

FAQ

  • Нужно ли переходить на JDK 24? Для новых фич — да, но тестируйте совместимость с Gradle и плагинами; JDK 21 — более безопасный выбор сейчас.
  • Как быстро переключаться между стеком Java и .NET? Держите оба IDE (Android Studio и Visual Studio), используйте реальное устройство для быстрых проверок.
  • Можно ли собирать AAB в .NET MAUI? Да — установите AndroidPackageFormat=aab и используйте dotnet publish в Release.

Итог: настройте SDK 36, выберите стек по опыту команды (Java — нативная Android‑экосистема, .NET MAUI — единый код для платформ), автоматизируйте подпись и оптимизацию, и тестируйте на реальных устройствах перед загрузкой в магазин.