2016-02-15 1 views
5

Когда я запустил мое приложение, он сказал, чтоНе может Instant Run: Наследие мульти-декс на Dalvik выполнении

Может не Instant Run: Наследие мульти-декс на Dalvik выполнении

ли это означает, что Я не могу использовать Instant Run, когда я использую multi-dex?

Я использую Android Studio beta4.

+0

Прочитайте это на официальном сайте. «Программу, которые используют устаревшие мульти-Dex (с minSdkVersion <21), с основным DEX файлом вблизи границы методы 65K не может построить Это потребует переделку приложение, чтобы освободить место в главном списке dex, уменьшив количество классов, необходимых в основном файле dex ». – Harisewak

ответ

0

Просто удалите эту строку из вашего Projectname/приложение/build.gradle

android { defaultConfig { multiDexEnabled true } }

удалить multiDexEnabled правда и вы будете в состоянии мгновенного запуска.

+0

Мне нужно, чтобы разделить dex. –

3

Для того, чтобы активировать multiDex на старых андроид версии вы должны установить multiDexEnabled к истинной, добавить зависимость и расширить свой класс приложения из MultiDexApplication или запустить MultiDex.install (это) в своем классе приложения , что приведет к устаревшей установке multiDex.

Однако, поскольку Intant Run не может работать с старым multiDex, вы должны использовать обычный. Все, что вам нужно, удаляет весь этот код, кроме multiDexEnabled флаг установлен на true. Этот метод поддерживается только устройствами с API 21 и выше.

Не стесняйтесь исправить меня, если что-то не так.

+0

Вы правы, но у меня нет мобильного телефона Api21. –

+0

Возможно, защитник может помочь вам. Кажется, нет другого пути без нового устройства. – Tieru

+0

Btw, мгновенный запуск отлично работает на эмуляторах. Вы можете использовать новый эмулятор google или Genymotion – Tieru

0

Как упоминалось в документации, Instant Run отключен Android Studio в случае, если multidex включен для уровня API 20 или ниже, а приложение развернуто на уровне API 20 или ниже.

Documentation link

Смежные вопросы