Как настроить среду и собрать 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)
- Установите Android Studio (версия Koala или новее). При установке выберите Standard setup — установщик подтянет SDK, эмулятор и необходимые инструменты.
- В SDK Manager установите: Android SDK Platform 36, Build-Tools 36.x, платформенные инструменты, System Image для эмулятора.
- JDK: укажите JDK 21 или 24 в File > Project Structure > SDK Location. Рекомендуется стабильный OpenJDK‑дистрибутив.
- Создайте проект: New Project > Empty Activity (Java). В модуле app в build.gradle используйте:
- compileSdk 36
- targetSdk 36
- minSdk по требованию (например 24)
- sourceCompatibility/targetCompatibility — JavaVersion.VERSION_21
- Быстрая сборка:
- Debug: ./gradlew assembleDebug или Build > Build APK(s).
- Release (AAB): ./gradlew bundleRelease
- Подпись релиза:
- Создайте 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)
- Установите Visual Studio 2022/2026 с workload ".NET Multi-platform App UI". Через инсталлятор добавьте Android SDK 36 и эмуляторные образы.
- Создайте проект: File > New > .NET MAUI App. В .csproj настройте целевую платформу для Android:
net10.0-android36.0 aab - Сборка:
- Debug: Build > Run (эмулятор или USB-устройство).
- Релиз: dotnet publish -f net10.0-android -c Release -p:AndroidPackageFormat=aab
- Подпись (пример для 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 - 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 — единый код для платформ), автоматизируйте подпись и оптимизацию, и тестируйте на реальных устройствах перед загрузкой в магазин.