Подтвердить что ты не робот

Работает ли Java 8 на Android api 24 и выше Или вы можете использовать в более низких api?

В android на этой странице Особенности Java 8 Languages ​​ работает только в api 24 и выше, или вы может использоваться в api ниже api 24, и если вы можете использовать эти функции, наименьшая версия api в android поддерживает эти функции

4b9b3361

Ответ 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).