Which JDK version (Language Level) is required for Android Studio?
Какая версия JDK (уровень языка) требуется для Android Studio?
Я новичок в мире Android и имею опыт работы с .NET. Я пытаюсь установить Android Studio, но у меня возникли разногласия по поводу Android.com версии JDK, необходимой для разработки приложений Android.
На веб-странице SDK указано, что требуется JDK 6 (в разделе "Системные требования"). Джим Уилсон также настаивает в своем курсе по Pluralsight (который является совершенно новым, с мая прошлого года), что использование версии 7 с Android SDK создаст много головной боли и дает понять использовать только JDK 6.
Хотя на странице Android Studio (в разделе установка шага 2) объясняется, как установить переменную среды, указывающую правильное расположение JDK. Здесь они используют путь к JDK 7
Выберите Start menu > Computer > System Properties > Advanced System Properties. Затем откройте Advanced tab > Environment Variables и добавьте новую системную переменную, JAVA_HOME которая указывает, например, на вашу папку JDK C:\Program Files\Java\jdk1.7.0_21.
Я почти уверен, что и пакет ADT & Eclipse, и пакет Android Studio используют один и тот же SDK, но теперь я не уверен, какую версию JDK мне нужно установить. Моя единственная цель - максимально избежать проблем при выполнении первых шагов в разработке Android.
Отказ от ответственности: я никоим образом не связан с Pluralsight. Я просто обычный пользователь, посещающий курсы.
Переведено автоматически
Ответ 1
Уточнение ответа - Android Studio поддерживает JDK8
Ниже приводится ответ на вопрос "Какую версию Java поддерживает Android?" который отличается от "Какую версию Java я могу использовать для запуска Android Studio?" который, я полагаю, является тем, что на самом деле спрашивалось. Для тех, кто хочет ответить на 2-й вопрос, вам может оказаться полезным использование Android Studio с Java 1.7.
Поскольку я бы предположил, что этот вопрос начнет появляться в ближайшее время со вчерашним выпуском: на данный момент нет установленной даты, когда Android будет поддерживать Java 8.
Если вам действительно нужна поддержка lambda, вы можете оформить Retrolambda - https://github.com/evant/gradle-retrolambda. Я никогда ею не пользовался, но она кажется довольно многообещающей.
Еще одно обновление: Android добавил поддержку Java 7
Android теперь поддерживает Java 7 (за вычетом функции "попробовать с использованием ресурсов"). Подробнее о функциях Java 7 можно прочитать здесь: https://javalang.ru/a/13550632/413254. Если вы используете gradle, вы можете добавить следующее в свою сборку.gradle:
Я использую Java 7 с Android Studio без каких-либо проблем (OS X - 10.8.4). Однако вам нужно убедиться, что вы снизили уровень языка проекта до 6.0. Смотрите Скриншот ниже.
То, что tehawtness сказал ниже, тоже имеет смысл. Если они предлагают JDK 6, имеет смысл просто выбрать JDK 6. Подойдет любой способ.
Обычно я бы придерживался того, что сказано в документации, но если инструктор явно сказал придерживаться JDK 6, я бы использовал JDK 6, потому что вы хотели бы, чтобы ваша среда разработки была как можно ближе к инструкторам. Было бы паршиво, если бы вы столкнулись с проблемой и в глубине души подумали, что, возможно, проблема в том, что вы используете JDK 7. Кстати, я в последнее время не прикасался к Android, но лично я никогда не сталкивался с проблемами, когда работал на JDK 7, но имейте в виду, я кодирую приложения для Android только случайно.
Ответ 3
Старайтесь не использовать версии JDK выше поддерживаемых. На самом деле я столкнулся с очень неоднозначной проблемой несколько месяцев назад.
У меня была собственная библиотека jar, которую я скомпилировал с помощью JDK 8, и я использовал ее в своем задании. Он выдавал мне какую-то preDexDebug ошибку каждый раз, когда я пытался его запустить. В конце концов, после нескольких часов попыток расшифровать журналы ошибок, у меня наконец появилось представление о том, что было не так. Я проверил системные требования, сменил компиляторы с 8 на 7, и это сработало. Похоже, что помещение моей jar в библиотеку стоило мне нескольких часов вместо того, чтобы сохранить ее...
Ответ 4
Android Studio теперь поставляется в комплекте с OpenJDK 8 . Устаревшие проекты по-прежнему могут использовать JDK7 или JDK8