Какая версия 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?" что я считаю тем, что на самом деле было задано. Для тех, кто хочет ответить на второй вопрос, вы можете найти Использование Android Studio с Java 1.7 полезно.

Также: см. http://developer.android.com/sdk/index.html #latest для системных требований Android Studio. JDK8 на самом деле является требованием для ПК и Linux (начиная с 5/14/16).


Обновление Java 8 (3/19/14)

Поскольку я предполагаю, что этот вопрос скоро начнет появляться в выпуске вчера: на данный момент нет установленной даты, когда Android будет поддерживать Java 8.

Вот обсуждение на /androiddev - http://www.reddit.com/г/androiddev/комментарии/22mh0r/does_android_have_any_plans_for_java_8/

Если вам действительно нужна поддержка лямбда, вы можете проверить Retrolambda - https://github.com/evant/Gradle-retrolambda. Я никогда не использовал его, но он кажется довольно многообещающим.

Другое обновление: Android добавила поддержку Java 7

Android теперь поддерживает Java 7 (минус функция try-with-resource). Подробнее о возможностях Java 7 вы можете прочитать здесь: fooobar.com/questions/21621/.... Если вы используете gradle, вы можете добавить следующее в свой build.gradle:

  android {   compileOptions {       sourceCompatibility JavaVersion.VERSION_1_7       targetCompatibility JavaVersion.VERSION_1_7   }
}
Код>

Старая реакция

Я использую Java 7 с Android Studio без проблем (OS X - 10.8.4). Вы должны убедиться, что вы уронили уровень языка проекта до 6.0. Смотрите снимок экрана ниже.

введите описание изображения здесь>></p>  <p>То, что сказано ниже, имеет смысл. Если они предлагают JDK 6, имеет смысл просто пойти с JDK 6. В любом случае все будет хорошо.</P>  <p> <img src=/questions/21583/can-the-android-sdk-work-with-jdk-17/160128#160128

Ответ 2

Как правило, я хотел бы поговорить с документацией, но если преподаватель явно сказал, что должен придерживаться JDK 6, я бы использовал JDK 6, потому что вы хотели бы, чтобы ваша среда разработки была как можно ближе к инструкторам. Это сосало бы, если бы вы столкнулись с проблемой и подумали, что это возможно, потому что вы на JDK 7, у вас возникла проблема. Кстати, я недавно не касался Android, но лично я никогда не сталкивался с проблемами, когда был на JDK 7, но помните, я только случайно заказываю приложения для Android.

Ответ 3

Старайтесь не использовать версии JDK выше, чем поддерживаемые. Несколько месяцев назад я столкнулся с проблемой неоднозначной проблемой.

У меня была библиотека jar, которую я скомпилировал с JDK 8, и я использовал ее в своем задании. Это давало мне некоторую ошибку preDexDebug каждый раз, когда я пытался ее запустить. В конце концов, после нескольких часов попыток расшифровки журналов ошибок, я наконец-то понял, что случилось. Я проверил системные требования, сменил компиляторы с 8 на 7, и он сработал. Похоже, что положить мою банку в библиотеку стоило мне несколько часов, а не сохранять ее...