I responsabili del progetto Android hanno deciso di rivedere le loro policy per il supporto al coding in Java 8; fino ad ora questo particolare aspetto non era stato gestito nel migliore dei modi da Mountain View, evitando in sostanza di offrire un supporto diretto per l'ultima versione del linguaggio e privilegiando, nel contempo, un approccio basato sulla Jack toolchain. Presto le cose dovrebbero cambiare e i vantaggi ai fini della produttività potrebbero rilevarsi rivelanti.
Nello specifico la Jack toolchain è una Android toolchain, quindi un set di strumenti per la programmazione, che ha il compito di compilare il sorgente Java in bytecode dex per il Robottino Verde; essa era stata introdotta per sostituire la toolchain precedentemente adottata nella quale erano stati inseriti il compilatore javac, l'optimizer ProGuard, jarjar per il repackaging delle librerie e dx.
La Jack toolchain ha tra le sue caratteristiche il fatto di essere completamente Open Source, di offrire tempi di compilazione particolarmente rapidi grazie al pre-dexing e ad un approccio incrementale, di non necessitare di ProGuard per l'ottimizzazione e di gestire autonomamente il repackaging e l'obfuscation.
Detto questo però, l'adozione di una soluzione del genere comporta costi ingenti in termini di switching, soprattutto in considerazione delle componenti come gli annotation processor, i bytecode analyzer e i rewriters.
Tenendo conto di ciò, e dopo il tentativo di aggiungere il supporto a Java 8 tramite la Jack toolchain attraverso dei test che ne avrebbero evidenziato i limiti, si è deciso di classificare quest'ultima come deprecata e favorire un supporto diretto, nativo, delle feature di Java 8 nell'Android build system. Con questa nuova impostazione i tool e i plugin preesistenti dovrebbero continuare a funzionare senza particolari incompatibilità e la futura migrazione dovrebbe essere indolore.
Tale novità dovrebbe essere disponibile come parte di Android Studio nelle prossime settimane, fino ad allora gli sviluppatori potranno continuare ad utilizzare la Jack toolchain per il building del codice Java 8.