Java 8 в Android N Preview

Официальный анонс Java 8 для Android N Preview гласит следующее:

С помощью компилятора Android для Android теперь вы можете использовать многие популярные функции языка Java 8, включая лямбды и т. Д., В версиях Android, начиная с Gingerbread. (…) Некоторые функции языка Java 8 - такие как стандартные и статические методы, потоки и функциональные интерфейсы - теперь также доступны для версий N и выше.

Я использую следующую конфигурацию Gradle с minSdkVersion 15 попробовать Java 8 в небольшом проекте:

android {
    compileSdkVersion 'android-N'
    buildToolsVersion '24.0.0 rc1'

    defaultConfig {
        applicationId "org.sergiiz.thermometer"
        minSdkVersion 15
        targetSdkVersion 'N'
        versionCode 1
        versionName "1.0"
        jackOptions{
            enabled true
        }
    }
    compileOptions {
        targetCompatibility 1.8
        sourceCompatibility 1.8
    }
   //...
}

Но селектор цели развертывания показывает minSdk(API23, N preview), Это ожидаемое поведение?

Существует ли список функций / пакетов Java 8, доступных еще в Gingerbread, и знаете ли вы, какие настройки gradle или библиотеки поддержки необходимы для использования функций Java 8 в API<23?

1 ответ

Но селектор цели развертывания показывает minSdk(API23, предварительный просмотр N). Это ожидаемое поведение?

Да. N Developer Preview настроен для работы только на N устройствах. Ваш targetSdkVersion 'N' линия неявно меняет ваш minSdkVersion также быть N,

знаете ли вы, какие настройки gradle или библиотеки поддержки необходимы для использования функций Java 8 в API<23?

Я рекомендую вам не беспокоиться о функциях Java 8 на старых устройствах до тех пор, пока Android N не выйдет из режима "предварительного просмотра" или пока команда разработчиков Android не предоставит специальные инструкции, отличные от N.

Другие вопросы по тегам