64

sto aggiornato i miei androidstudio 2.1 stable.As per Android Studio 2.1 supports Android N Developer Preview Android 2.1 in studio supporto Jack (Java Android Compiler Kit) compilatore.Come abilitare Jack (Kit Java Compiler Android) in studio Android

Come aggiungere o utilizzare Jack in Android Studio?

NOTA:

The Jack toolchain is deprecated, as per Java 8 Language Feature Support on Android . However, you may continue to use it to enable Java 8 language features until the replacement is available.

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

risposta

126

I dettagli su ciò che è necessario per utilizzare Jack e come può essere trovato nel documentation.

Ecco la parte rilevante dalla documentazione che va in build.gradle su come utilizzare jackOptions e impostare la compileOptions per Java 1.8.

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

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

UPDATE

La toolchain Jack è ormai considerato obsoleto in base alle this post e il lavoro è stato fatto per supportare nativamente Java 8 funzioni come parte del sistema di build di Android nelle prossime settimane in base al post .

Il post menziona anche che ci dovrebbe essere poco o nessun lavoro di migrazione da Jack al nuovo metodo nel caso in cui si volesse ancora provare a abilitare le funzionalità di Java 8 con Jack.

UPDATE 2 Anteprima supporto incorporato

È ora possibile provare il nuovo supporto integrato per Java 8 utilizzando la più recente Studio Android Anteprima 6.

2.4 Per ulteriori informazioni su come per abilitarlo o migrare da Jack o Retrolambda vedere lo documentation.

+1

Impressionante! Grazie per la bella risposta. – pRaNaY

+25

Ricevo ancora un errore: 'Impossibile trovare le proprietà 'opzioni' sull'attività ': app: compileDebugJavaWithJack'. –

+4

@IgorGanapolsky Ho trovato alcuni riferimenti che collegano tale errore ai processori di annotazione.Per caso, usi qualche libreria che elabora le annotazioni come il pugnale o il butterknife? Sembra che Jack abbia recentemente avuto la possibilità di applicare processori di annotazione sul classpath con Android Gradle Plugin versione 2.2.0-alpha1 o successiva. Se si utilizza una versione inferiore, si potrebbe essere in grado di specificare il processore di annotazione da soli come mostrato [qui] (http://tools.android.com/tech-docs/jackandjill). –

11

È possibile abilitare il compilatore di jack aggiungendo la seguente riga nel file build.gradle.

android{ 

compileSdkVersion 23 

buildToolsVersion "24rc2" 

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

inserto in blocco android{}

jackOptions { 
      enabled true 
     } 

soluzione è

+0

Grazie per la risposta. Ma ora ** Jack toolchain ** è deprecato. Controlla https://source.android.com/source/jack – pRaNaY

+0

Grazie amico !! –

0

Java 8 è supportato su Android Studio 3 versioni, tutto questo jackOptions non è necessaria più.

Jack is no longer supported, and you should first disable Jack to use the improved Java 8 support built into the default toolchain.

Per maggiori dettagli leggere questo link:

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