Как включить Джек (Java Android Compiler Kit) в андроид студию

Я обновил свою стабильную версию androidstudio 2.1. Согласно Android Studio 2.1 поддерживает Android N Developer Preview. Android studio 2.1 поддерживает компилятор Jack (Java Android Compiler Kit).

Как добавить или использовать Джек в андроид студии?

НОТА:

Набор инструментов Jack устарел, согласно Java 8 Language Feature Support на Android. Однако вы можете продолжать использовать его для включения функций языка Java 8 до тех пор, пока замена не станет доступна.

https://source.android.com/source/jack

6 ответов

Решение

Подробности о том, что требуется для использования Джека и как можно найти в документации.

Вот соответствующая часть из документов, которая идет в build.gradle о том, как использовать jackOptions и установить compileOptions для Java 1.8.

android {
    ...
    defaultConfig {
        ...
        jackOptions {
            enabled true
        }
    }

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

ОБНОВИТЬ

Согласно этому сообщению, в настоящее время набор инструментов Jack считается устаревшим, и в ближайшие недели, согласно сообщению, в настоящее время ведется работа по собственной поддержке функций Java 8 как части системы сборки Android.

В посте также упоминается, что переход от Jack к новому методу может быть практически невозможен, если вы все еще хотите попробовать включить функции Java 8 с Jack.

ОБНОВЛЕНИЕ 2 Предварительный просмотр Встроенная поддержка

Теперь вы можете попробовать новую встроенную поддержку Java 8, используя последнюю версию Android Studio preview 2.4 preview 6.

Для получения дополнительной информации о том, как включить его или перейти с Jack или Retrolambda, см. Документацию.

Вы можете включить компилятор jack, добавив следующую строку в файл build.gradle.

android{

compileSdkVersion 23

buildToolsVersion "24rc2"

defaultConfig {
    ...
    jackOptions {
        enabled true
    }
}
compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}}

Джек / Джилл будут заброшены в ближайшее время, смотрите пост Google. https://android-developers.googleblog.com/2017/03/future-of-java-8-language-feature.html

1- build.gradle (Модуль)

defaultConfig {
        //remove jackOptions 
        jackOptions {
            enabled true
        }
    }

2 - если вы используете стороннюю версию, которая использует Java 8 build.gradle (Project)

buildscript {
    dependencies {
        //remove this line of your third-party dependency
        classpath 'PATH<VERSION>'
    }
}

3- удалите retrolamda, примените плагин "....labmda", удалите эти строки из вашего модуля.

3- добавить в build.gradle (модуль) android {

compileOptions {
    sourceCompatibility JavaVersion.VERSION_1_8
    targetCompatibility JavaVersion.VERSION_1_8
}

}

Вставить в блок android{}

jackOptions {
            enabled true
        }

это решение

Java 8 поддерживается в версиях Android Studio 3, все это jackOptions не требуется дольше.

Jack больше не поддерживается, и вы должны сначала отключить Jack, чтобы использовать улучшенную поддержку Java 8, встроенную в набор инструментов по умолчанию.

Для более подробной информации прочитайте эту ссылку:

https://developer.android.com/studio/write/java8-support.html

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