Сборка Android: режим Dex Jumbo в Gradle

Я использую следующую строку в сборке муравьев Android (project.properties):

dex.force.jumbo=true

Теперь мы переходим с ant на Gradle. Можно ли активировать режим jumbo в сборке Android Gradle?


person endian    schedule 26.06.2013    source источник
comment
Переместите настройку на gradle.properties в порядке, файл gradle.properties находится на пути к проекту   -  person Ninja    schedule 26.07.2017


Ответы (6)


Вы можете изменить свой build.gradle файл, включив в него:

android {
    dexOptions {
        jumboMode = true
    }
}

Обратите внимание, что этот параметр поддерживается только устаревшим компилятором DX. Компилятор D8 не поддерживает эту опцию. Из AGP 7.0 (выпущенного с Android Studio 2020.3.1 - Arctic Fox) поддержка DX полностью удалена.

person Israel Varea    schedule 28.02.2014
comment
Пришлось очистить градиент перед сборкой. - person ViliusK; 05.05.2015
comment
Где этот файл build.gradle? На платформе? Что делать, если я не хочу возиться с папкой платформы? - person Francisco Souza; 17.03.2018

Измените build.gradle в своем модуле, чтобы добавить:

android {
    dexOptions {
        jumboMode = true
    }
}

После этого запустите gradle clean в корне вашего проекта.

person nlmm01    schedule 24.06.2015

Я не уверен, можно ли установить force jumbo в Gradle, но с Android Studio 0.2.4 вы можете включить его в Compiler -> Android DX Compiler -> Force Jumbo Mode.

person sealskej    schedule 15.08.2013
comment
Конечно, но как мне включить Jumbo Mode в файлах сборки без ide? - person endian; 19.09.2013

Я смог сделать это в Windows, изменив dx.bat в инструментах сборки и добавив параметр --force-jumbo по умолчанию. Конечно, это обходной путь - надеюсь, это будет решено в плагине Gradle.

person Nick Caballero    schedule 11.10.2013
comment
Вы можете увидеть текущий исходный код сборщика Android здесь: android.googlesource.com/platform/tools/build / + / master / builder /. Флаг jumbo просто не поддерживается. Если у вас есть лучшее решение для его включения, предоставьте его вместо того, чтобы голосовать против рабочего обходного пути. - person Nick Caballero; 19.10.2013
comment
Почему вы говорите, что флаг jumbo не поддерживается? В источнике Android я вижу command.add (- force-jumbo). - person IgorGanapolsky; 11.02.2014
comment
Ах ты прав. Я обновлю ответ, указав правильную конфигурацию для Gradle. - person Nick Caballero; 11.02.2014

Проверьте свои инструменты сборки. При необходимости обновите и попробуйте еще раз.

person stdout    schedule 18.02.2016

эта ошибка означает, что ваш метод получил более 65536

просто добавьте multiDexEnabled в конфигурацию по умолчанию в файл build.gradle

defaultConfig {
   ...
   multiDexEnabled true
   ... 
}

этот способ также работает: https://blog.csdn.net/H_O_W_E/article/details/77742907

person Louis    schedule 13.07.2018