web-dev-qa-db-fra.com

Comment activer Jack (Java Android Compiler Kit) dans le studio Android

Je suis mis à jour mon androidstudio 2.1 stable.Comme par Android Studio 2.1 prend en charge Android Aperçu du développeur N Android support de studio 2.1 - Jack (Java Android Kit de compilateur) compilateur.

Comment ajouter ou utiliser Jack dans Android studio?

NOTE:

La chaîne d’outils Jack est obsolète, conformément à prise en charge des fonctionnalités du langage Java 8 sous Android . Cependant, vous pouvez continuer à l'utiliser pour activer Java 8 fonctionnalités du langage jusqu'à ce que le remplacement soit disponible.

https://source.Android.com/source/jack

68
pRaNaY

Les détails sur ce qui est requis pour utiliser Jack et comment peuvent être trouvés dans documentation .

Voici la partie pertinente de la documentation qui va dans build.gradle sur la façon d'utiliser jackOptions et de définir la compileOptions pour Java 1.8.

Android {
    ...
    defaultConfig {
        ...
        jackOptions {
            enabled true
        }
    }

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

UPDATE

La chaîne d’outils Jack est maintenant considérée comme obsolète selon cet article et un travail est en cours pour prendre en charge de manière native les fonctionnalités de Java 8 dans le cadre du système de construction Android du prochaines semaines selon le post.

Cet article mentionne également que la migration de Jack vers la nouvelle méthode ne devrait pas demander grand chose au cas où vous souhaiteriez toujours activer la fonctionnalité Java 8 avec Jack.

UPDATE 2 Preview Support intégré

Vous pouvez maintenant essayer le nouveau support intégré pour Java 8 en utilisant la dernière version de Android Studio Preview 2.4. 6.

Pour plus d'informations sur la manière de l'activer ou de migrer à partir de Jack ou Retrolambda, voir documentation .

135
George Mulligan

Vous pouvez activer le compilateur jack en ajoutant la ligne suivante dans le fichier build.gradle.

Android{

compileSdkVersion 23

buildToolsVersion "24rc2"

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

Jack/Jill sera bientôt abandonné, voir l'article de Google. https://Android-developers.googleblog.com/2017/03/future-of-Java-8-language-feature.html

6
kenmark

1- build.gradle (module)

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

2- si vous utilisez un tiers qui utilise Java 8 build.gradle (Projet)

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

3-remove retrolamda, appliquez le plugin '.... labmda' supprimez ces lignes de votre nom de module

4- ajouter à build.gradle (module)

Android {

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
}
2
Abuzeid Ibrahim

Java 8 est pris en charge sur les versions Android Studio 3. Tout cela jackOptions n'est plus requis.

Jack n'est plus pris en charge et vous devez d'abord désactiver Jack pour qu'il utilise le support amélioré Java 8 intégré à la chaîne d'outils par défaut.

Pour plus de détails, lisez ce lien:

https://developer.Android.com/studio/write/Java8-support.html

0

insérer dans le bloc Android{}

jackOptions {
            enabled true
        }

la solution

0