D8 - это инструмент командной строки, который Android Studio и плагин Android Gradle используют для компиляции байт-кода Java проекта в байт-код DEX.
Эта команда имеет несколько параметров :
- выходной путь ,
- файл-за класс ,
- без десагеринга , - основной список dex и т.д.
У меня есть несколько вопросов:
- Как передать эти флаги в d8 из файла сборки Gradle?
- Как просмотреть полную команду d8 (со всеми флагами), которую фактически использует Android Studio при сборке apk.
Я уже пытался использовать команду DexOptions со свойством additionalParameters
.
android {
....
dexOptions {
additionalParameters = ['--main-dex-list=mylist.txt']
}
}
Но похоже, что это не работает.
До D8 был инструмент DX . Параметры могут быть отправлены в DX следующим образом:
Но сейчас это не работает. Вероятно, из-за того, что D8
имя задачи дексинга не начинается со слова dex
.
Я также заметил, что есть свойство android.enableD8.desugaring=true
, которое может быть объявлено в файле gradle.properties
. Я предполагаю, что это свойство включает - без десагеринга флаг D8
.
Если это так, может быть, другие свойства также могут быть установлены через gradle.properties
файл? Есть ли документация по всем доступным android.enableD8.*
свойствам?
ОБНОВЛЕНИЕ:
Существует свойство multiDexKeepFile
, которое может быть объявлено в каждом блоке BuildType. Похоже, это свойство делает именно то, что делает - main-dex-list флаг D8 . Хорошо, а как насчет других флагов?