Как я могу использовать Android dexOptions?
В чем смысл dexOptions.incremental и т.д.
Любое тело может объяснить их мне.
dex options
android {
dexOptions {
incremental false
preDexLibraries = false
jumboMode = false
javaMaxHeapSize "2048M"
}
}
This affects all tasks using dex.
Ответы
Ответ 1
boolean incremental
Включить инкрементный режим для dx. Это имеет множество ограничений и может не работать. Используйте осторожно.
String javaMaxHeapSize
Устанавливает значение -JXmx * при вызове dx. Формат должен соответствовать шаблону 1024M.
boolean jumboMode
Включить jumbo-режим в dx (-force-jumbo).
boolean preDexLibraries
Использовать ли библиотеки pre-dex. Это может улучшить инкрементные сборки, но чистые сборки могут быть медленнее.
Их можно найти здесь:
http://google.github.io/android-gradle-dsl/current/com.android.build.gradle.internal.dsl.DexOptions.html
Ответ 2
установите incremental
в true
.
Это экспериментальная функция, которая по умолчанию отключена. Однако вы можете включить его. Я лично не заметил никаких изменений в скорости (если это влияет на скорость).
Дополнительное объяснение можно найти там fooobar.com/questions/61103/....
Ответ 3
Пример:
dexOptions {
preDexLibraries = false
incremental true
javaMaxHeapSize "12g"
}
afterEvaluate {
tasks.matching {
it.name.startsWith('dex')
}.each { dx ->
if (dx.additionalParameters == null) {
dx.additionalParameters = ['--multi-dex']
} else {
dx.additionalParameters += '--multi-dex'
}
}
}