В Android на основе этой страницы Функции языков Java 8 Android работает только в api 24 и выше или вы можете использовать в api ниже, чем API 24, и если вы можете использовать эти функции, какая самая маленькая версия API в Android поддерживает эти Особенности
Работает ли Java 8 на Android API 24 и выше или вы можете использовать более низкий API?
Ответы (3)
Обновление. Начиная с 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. Благодаря компилятору Jack для Android теперь вы можете использовать многие популярные языковые функции Java 8, включая лямбда-выражения и многое другое, в версиях Android, начиная с Gingerbread. Новые функции помогают сократить шаблонный код. Например, лямбда-выражения могут заменить анонимные внутренние классы при предоставлении прослушивателей событий. Некоторые функции языка Java 8, такие как стандартные и статические методы, потоки и функциональные интерфейсы, также теперь доступны на N и более поздних версиях. С Джеком мы надеемся более внимательно следить за языком Java, сохраняя при этом обратную совместимость.
Обновление
Набор инструментов Jack: устарело. Функции Java8 входят в стандартную цепочку инструментов, если вы используете плагин Android версии 2.4.0-alpha4 (или выше). Подробнее здесь.
Исходный ответ Функции Java 8 доступны в API N и новее, за исключением лямбда-выражений. Лямбда-выражения переносятся обратно (с использованием анонимных классов) обратно в 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
}
}
Обновление
Начиная с 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 (JDK 8), а для использования некоторых инструментов с Android Studio 2.1 необходимо установить среду выполнения Java 8 (JRE 8).