Как передать флаги инструменту D8?

D8 - это инструмент командной строки, который Android Studio и плагин Android Gradle используют для компиляции байт-кода Java проекта в байт-код DEX. Эта команда имеет несколько параметров:

--output путь, --file-per-class, --no-desugaring, --main-dex-list и т. д.

У меня есть несколько вопросов:

  1. Как передать эти флаги в d8 из файла сборки Gradle?
  2. Как просмотреть полную команду 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. Хорошо, а как насчет других флагов?

0 ответов

Другие вопросы по тегам