Что такое dex в Gradle - программирование
Подтвердить что ты не робот

Что такое dex в Gradle

Что такое dex в Gradle или в Android?

В Gradle, что значение dexoptions?

Иногда мой проект не компилируется из-за некоторых dexerrors. Мне нужно активировать ProGuard для компиляции моего приложения для Android.

4b9b3361

Ответ 1

В стандартном java-мире:

При компиляции стандартного Java-кода: компилятор производит *.class файл. Файл класса * содержит стандартный java-байт-код, который может быть выполнен на стандартной JVM.

В мире Android:

Это другое. Вы используете язык java для написания кода, но компилятор не создает файлы *.class, он создает файл *.dex. Файл *.dex содержит байт-код, который может быть выполнен на виртуальной машине Android (dalvik), и это не стандартная виртуальная машина Java.

Чтобы быть ясным: файл dex в android является эквивалентом класса в стандартном java.

So dexoptions - это объект gradle, где определены некоторые параметры для настройки преобразования java-кода в Android-байт-код, Параметры, сконфигурированные с помощью этого объекта:

  • targetAPILevel
  • force-jumbo mode (при включении он позволяет большее количество строк в файлах dex)

Чтобы включить jumboMode:

android {
    dexOptions {
        jumboMode = true
    }
}