Какая JDK нужна для Android Studio и как её быстро переключить
Коротко: в 2026 году рекомендуемая JDK для Android Studio и современных версий Gradle — JDK 21 (LTS). Она совместима с AGP 8.5+ и Gradle 8.7+, даёт выигрыш в скорости сборки и лучше работает с Kotlin. Ниже — что точно использовать, как установить и как переключить JDK в Android Studio и в CI.
Рекомендуемые и минимальные версии (2026)
| Компонент | Рекомендуемая версия | Минимальная |
|---|---|---|
| JDK | 21 (LTS) | 17 (временно) |
| Android Studio | 2026.1.1+ | 2025.3 |
| Gradle | 8.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)
- Скачайте и установите JDK 21 (Temurin/Eclipse или другой вендор без строгих ограничений лицензии).
- Установите 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.
- Проверьте:
- java -version
- javac -version
- в проекте: ./gradlew --version (покажет, какой JDK использует Gradle)
Как переключить JDK в Android Studio и в проекте
- В Android Studio: File → Settings (или Preferences на macOS) → Build, Execution, Deployment → Build Tools → Gradle.
- В поле Gradle JDK выберите JDK 21 из списка или нажмите Add JDK и укажите путь к установленной JDK 21.
- Для компилятора: File → Settings → Build, Execution, Deployment → Compiler → Java Compiler → выставьте Project bytecode version = 21 при необходимости.
- В gradle.properties (в корне проекта) можно явно задать: org.gradle.java.home=/path/to/jdk-21 org.gradle.jvmargs=-Xmx4096m -XX:MaxMetaspaceSize=512m
- Синхронизируйте проект: 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.