Какая JDK нужна для Android Studio и как её быстро переключить

Коротко: в 2026 году рекомендуемая JDK для Android Studio и современных версий Gradle — JDK 21 (LTS). Она совместима с AGP 8.5+ и Gradle 8.7+, даёт выигрыш в скорости сборки и лучше работает с Kotlin. Ниже — что точно использовать, как установить и как переключить JDK в Android Studio и в CI.

Рекомендуемые и минимальные версии (2026)

КомпонентРекомендуемая версияМинимальная
JDK21 (LTS)17 (временно)
Android Studio2026.1.1+2025.3
Gradle8.7+ (wrapper)8.5

Примечания: AGP 8.5+ официально оптимизирован под JDK 21. Для Gradle используйте gradle-wrapper с distributionUrl, соответствующим 8.7 (например gradle-8.7-bin.zip).

Если не хотите заморачиваться с лицензиями — ставьте сборку Temurin (Eclipse Adoptium) JDK 21.

Как установить JDK 21 и настроить систему (Windows/macOS/Linux)

  1. Скачайте и установите JDK 21 (Temurin/Eclipse или другой вендор без строгих ограничений лицензии).
  2. Установите JAVA_HOME и обновите PATH:
    • macOS / Linux: в ~/.bashrc или ~/.zshrc добавьте export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk export PATH=$JAVA_HOME/bin:$PATH
    • Windows: через System Properties → Environment Variables добавьте JAVA_HOME=C:\Program Files\Temurin\jdk-21 и включите %JAVA_HOME%\bin в PATH.
  3. Проверьте:
    • java -version
    • javac -version
    • в проекте: ./gradlew --version (покажет, какой JDK использует Gradle)

Как переключить JDK в Android Studio и в проекте

  1. В Android Studio: File → Settings (или Preferences на macOS) → Build, Execution, Deployment → Build Tools → Gradle.
    • В поле Gradle JDK выберите JDK 21 из списка или нажмите Add JDK и укажите путь к установленной JDK 21.
  2. Для компилятора: File → Settings → Build, Execution, Deployment → Compiler → Java Compiler → выставьте Project bytecode version = 21 при необходимости.
  3. В gradle.properties (в корне проекта) можно явно задать: org.gradle.java.home=/path/to/jdk-21 org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m
  4. Синхронизируйте проект: Sync Project with Gradle Files → затем ./gradlew clean build.

Не оставляйте в local.properties или других конфигурациях строку jdk.dir=... указывающую на старую JDK — это часто мешает переключению.

CI и инструменты для управления версиями JDK

  • На CI (GitHub Actions, GitLab CI и т.п.) указывайте Java 21 в шаге установки Java (actions/setup-java или аналог).
  • Для локальной смены JDK удобно использовать SDKMAN (sdk install java 21.x; sdk use java 21.x) или jenv.
  • Убедитесь, что Gradle wrapper в проекте обновлён: откройте gradle/wrapper/gradle-wrapper.properties и задайте нужную версию distributionUrl.

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

  • Unsupported class file version 65 — означает несоответствие версии JDK и байткода; используйте JDK 21 при байткоде 21.
  • JAVA_HOME is set to an invalid directory — проверьте путь и права доступа.
  • Смешанные JDK: IDE использует одну версию, Gradle — другую. Решение: пропишите org.gradle.java.home и переключите Gradle JDK в настройках IDE.

FAQ

  • Нужна ли JDK 21 для старых проектов? Нет, старые проекты можно временно собирать на JDK 17, но для совместимости с новыми Gradle/AGP лучше перейти на 21.
  • Можно ли использовать Amazon Corretto или OpenJDK от другого вендора? Можно, но на 2026 году Temurin/Adoptium наиболее проверен совместимостью с Gradle/AGP.
  • Что делать, если CI падает после смены JDK? Убедитесь, что runner использует JDK 21 и gradle-wrapper обновлён; очистите кеш сборки.

Если хотите, могу прислать набор команд для вашей ОС или готовый фрагмент gradle.properties/.github workflow под ваш проект — укажите ОС и CI.