Ошибка Dexopt на очень большом APK (из-за порядка method_idx), когда dex.force.jumbo = true

У меня очень большой проект Android с несколькими большими, сторонними банками (как библиотеки Android).

Я верюМы ударили Дексаs максимальное количество ограничений метода (компиляция через eclipse):

[2012-11-18 02:28:45 - Найти в файлах] Dx обрабатывает classes.dex ...

[2012-11-18 02:28:48 - Dex Loader] Невозможно выполнить dex: Невозможно объединить новый индекс 66774 в не-гигантскую инструкцию!

[2012-11-18 02:28:48 - Найти в файлах] Преобразование в формат Dalvik не удалось: Невозможно выполнить dex: Невозможно объединить новый индекс 66774 в не-гигантскую инструкцию!

Используя преимущества инструментов SDK 21 (инструменты платформы 16), я отредактировал свой основной проект project.properties для установки.dex.force.jumbo=true

Флаг позволил мне сгенерировать APK. Но я не могУстановите его правильно (как на физическом, так и на эмуляторе). Кажется, произошел сбой в работе dex optimizer:

11-18 20: 11: 05.338: I / PackageManager (103): запуск dexopt для: com.mypackage.myapp

11-18 20: 11: 08.577: E / dalvikvm (868): Неверный метод method_idx: 0x2ae0, затем 0x1

11-18 20: 11: 08.577: E / dalvikvm (868): проблема с элементом 1544 при смещении 0xf7ae24

11-18 20: 11: 08.577: E / dalvikvm (868): своп типа раздела 2006 не удался

11-18 20: 11: 08.577: E / dalvikvm (868): ОШИБКА: обмен байтами + ошибка проверки

11-18 20: 11: 08.597: E / dalvikvm (868): оптимизация не удалась

11-18 20: 11: 08.597: W / installd (39): DexInv: --- END '/data/app/com.mypackage.myapp-1.apk» --- статус = 0xff00, процесс не выполнен

11-18 20: 11: 08.597: E / installd (39): сбой dexopt '/data/dalvik-cache/data@[email protected]@classes.dex» res = 65280

11-18 20: 11: 08.697: W / PackageManager (103): пакет не можетне может быть установлен в /data/app/com.mypackage.myapp-1.apk

11-18 20: 11: 09.018: D / dalvikvm (103): GC_EXPLICIT освобожден 1698K, 13% свободен 17034K / 19463K, приостановлен 7мс + 135мс

11-18 20: 11: 09.068: D / AndroidRuntime (780): выключение виртуальной машины

Я пытаюсь использоватьdex.force.jumbo флаг для цели, для которой он не предназначен, или эта ошибка непредсказуема?

Если да, то есть ли лучшая стратегия для создания проекта, который включает в себя очень большое количество классов / методов?

Ответы на вопрос(2)

Ваш ответ на вопрос