Как передать флаги инструменту D8?
D8 - это инструмент командной строки, который Android Studio и плагин Android Gradle используют для компиляции байт-кода Java проекта в байт-код DEX. Эта команда имеет несколько параметров:
--output путь, --file-per-class, --no-desugaring, --main-dex-list и т. д.
У меня есть несколько вопросов:
- Как передать эти флаги в 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
файл. Я предполагаю, что это свойство включает флаг --no-desugaring D8
,
Если это так, возможно, другие свойства также могут быть установлены через gradle.properties
файл? Есть ли документация всего доступного android.enableD8.*
свойства?
ОБНОВИТЬ:
Есть multiDexKeepFile
свойство, которое может быть объявлено в каждом блоке BuildType. Похоже, что это свойство делает именно то, что делает флаг --main-dex-list D8. Хорошо, а как насчет других флагов?