prima di tutto vediamo cosa è il file dex. in puro java quando si compila il codice java, verrà compilato in un file .class
mentre in Android il codice java verrà compilato nel file .dex
. (entrambi sono bytecode ma diversi)
incremental
: significa che Gradle utilizzerà il file dex precedente e aggiungerà le nuove modifiche (non costruendole di nuovo ogni volta).
la risposta del primo Q: ad es. una delle limitazioni era che non si poteva usare insieme a multidex * (sebbene questa limitazione fosse risolta - per le versioni di sdk 21+ sono possibili build incrementali per apk multidex ricostruendo solo i file dex interessati)
-note: non serve preoccuparsi di questo limitazioni più perché l'opzione incrementale è vero per default a partire dalla versione 2.1.0 Gradle
: questa opzione significa la compilazione di codice Java in file di Dex multiplo non avete bisogno di questo a meno che i vostri metodi di codice sono più numerosi la limitazione massima su un singolo dex file (64k metodi)
jumboMode
(la risposta di il secondo Q): esiste anche una limitazione per il conteggio delle stringhe nel file dex che abilita questa opzione estenderà il conteggio delle stringhe nel file dex (questa opzione è vera dal Gradle 2.1.0 quindi non devi preoccuparti neanche di questo)
preDexLibraries
(la risposta del vostro terzo Q): costruisce il file dex di librerie in modo che possa essere utilizzato in incrementale costruisce (non costruire i file DEX ogni volta per le librerie). quindi usare questo oggetto quando la costruzione pulita rende tutto un po 'più lento.
fonte
2016-10-08 12:48:08
Possibile duplicato di [come posso utilizzare Android dexOptions?] (http://stackoverflow.com/questions/28927255/how-can-i-use-android-dexoptions) –
domanda modificata – Xan