В android на этой странице Особенности Java 8 Languages работает только в api 24 и выше, или вы может использоваться в api ниже api 24, и если вы можете использовать эти функции, наименьшая версия api в android поддерживает эти функции
Работает ли Java 8 на Android api 24 и выше Или вы можете использовать в более низких api?
Ответ 1
Обновление: Начиная с Android Studio 2.4, компилятор Jack устареет, а поддержка Java 8 будет интегрирована в цепочку сборки по умолчанию. Некоторые функции Java 8 доступны на любом уровне API, некоторые все еще ограничены API> = 24, см.:
https://developer.android.com/studio/preview/features/java8-support.html
Старый ответ:
Функции Java 8 доступны начиная с уровня API 9, но только если вы используете Android Studio 2.1 (предварительный просмотр) и Android N Preview SDK
http://android-developers.blogspot.de/2016/03/first-preview-of-android-n-developer.html
Улучшенная поддержка языка Java 8 - Мы были рады представить функции языка Java 8 для Android. Компилятор Android Jack теперь позволяет использовать многие популярные функции языка Java 8, включая лямбды и многое другое, в версиях Android, начиная с Gingerbread. Новые функции помогают уменьшить стандартный код. Например, лямбды могут заменять анонимные внутренние классы при предоставлении прослушивателей событий. Некоторые функции языка Java 8 --like по умолчанию и статические методы, потоки и функциональные интерфейсы - теперь также доступны для версий N и выше. Вместе с Джеком мы с нетерпением ожидали более тщательного отслеживания языка Java при сохранении обратной совместимости.
Ответ 2
Обновление
Инструментальная цепочка Jack устарела. Функции Java8 подходят к стандартной инструментальной цепочке, если вы используете плагин Android 2.4.0-alpha4 (или выше). Подробнее здесь.
Оригинальный ответ Возможности Java 8 доступны в API N и новее, за исключением lambdas. Lambdas возвращаются обратно (используя анонимные классы) обратно в Gingerbread.
Android N основывает свою реализацию лямбда-выражений на анонимные классы. Такой подход позволяет им вернуться назад совместимый и исполняемый в более ранних версиях Android.
Чтобы проверить это, вам нужен предварительный просмотр Android Studio 2.1, установленный JDK 8 и новейшие инструменты сборки.
Пример конфигурации сборки:
android {
compileSdkVersion 23
buildToolsVersion "24.0.0 rc1"
defaultConfig {
minSdkVersion 23
targetSdkVersion 23
versionCode 1
versionName "1.0"
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}
Ответ 3
Обновление
Начиная с Android Studio 2.4, компилятор Jack будет устаревшим.
Android Studio 3.0 и более поздние версии поддерживают все функции языка Java 7 и подмножество функций языка Java 8, которые различаются в зависимости от версии платформы.
Вся информация в официальном документе: https://developer.android.com/studio/write/java8-support
Вы также можете настроить его непосредственно в соответствующем файле build.gradle:
Просто настройте:
android {
...
// Configure only for each module that uses Java 8
// language features (either in its source code or
// through dependencies).
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
// For Kotlin projects
kotlinOptions {
jvmTarget = "1.8"
}
}
СТАРЫЙ (ответ)
Чтобы скомпилировать ваше приложение для платформы Android N, вам нужно использовать JAVA 8.
Чтобы скомпилировать ваше приложение на платформе Android N, вам нужно использовать Java 8 Developer Kit (JDK 8), а для использования некоторых инструментов с Android Studio 2.1 необходимо установить среду выполнения Java 8 (JRE 8).