Как включить функции языка Java 8 в Android-студии

Выпущена версия Android Studio 2.4 Preview 4, теперь она поддерживает языковые функции Java 8. Джек больше не требуется, и нужно отключить Джек, чтобы использовать улучшенную поддержку Java 8, встроенную в набор инструментов по умолчанию.

Теперь нам нужно отключить Джек и переключиться на набор инструментов по умолчанию. Как включить функции Java 8 для использования в проекте Android Studio?

4 ответа

Решение

Включить поддержку Java 8:

Чтобы начать использовать поддерживаемые функции языка Java 8, обновите плагин Android до версии 2.4.0-alpha4 (или выше) и добавьте в свой модуль следующее build.gradle файл:

android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

Отключить jackOptions:

Мы можем отключить Jack и переключиться на набор инструментов по умолчанию, удалив блок jackOptions из файла build.gradle модуля:

android {
    ...
    defaultConfig {
        ...
        // Remove this block.
        jackOptions {
            enabled true
        }
    }

}

Примечание. Если в вашем проекте используются Jack, Retrolambda или DexGuard, Android Studio по умолчанию использует поддержку Java 8, предоставляемую этим инструментом.

Отключить поддержку Java 8:

Мы также можем отключить функции Java 8 в вашем проекте, если вы столкнулись с какой-либо проблемой, связанной с Java 8. Мы можем обновить gradle.properties файл, добавив строку ниже, чтобы отключить функции Java 8:

android.enableDesugar=false

Установите флажок Использовать функции языка Java 8 для получения более подробной информации о функциях Java 8.

Я знаю, что на это уже ответили, но после нового обновления Gradle и Android Studio, jackOptions устарела.

 android {
      .....

        defaultConfig {
        ..........
            //remove jackOptions and add
            android.compileOptions.sourceCompatibility 1.8
            android.compileOptions.targetCompatibility 1.8

        }
        // Keep the following configuration in order to target Java 8.
         compileOptions {

           sourceCompatibility JavaVersion.VERSION_1_8
           targetCompatibility JavaVersion.VERSION_1_8
       }
  }

Простой процесс -

Right click on Project > Open Module Setting (F4) > Modules (app) >

Выбрать -

Source Compatibility - 1.8
Target Compatibility - 1.8

Чистый ответ-

Просто добавьте подписку на уровень приложения build.gradle а также Sync

android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}
android {
  ...
  compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
  }
}

И включите jackOption в вашем же модуле Gradle

 defaultConfig {
            jackOptions {
            enabled true
        }
    }

android {
    compileSdkVersion 25
    buildToolsVersion "25.0.2"
    defaultConfig {
        applicationId "****************"
        minSdkVersion 15
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        jackOptions {
            enabled true
        }
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }


    compileOptions {
        targetCompatibility JavaVersion.VERSION_1_8
        sourceCompatibility JavaVersion.VERSION_1_8
    }
}

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