Создание приложений с более чем 65 тысячами методов для Android 5.0 и выше [дубликат]Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Создание приложений с более чем 65 тысячами методов для Android 5.0 и выше [дубликат]

Сообщение Anonymous »

В официальной документации я вижу, что вы можете использовать multi-dex в версиях Android до 5.0, используя это:

Код: Выделить всё

defaultConfig {
multiDexEnabled true
}

dependencies {
compile 'com.android.support:multidex:1.0.0'
}
И сообщает, что у него есть некоторые проблемы и ограничения:

Ограничения библиотеки поддержки multidex
Библиотека поддержки multidex имеет некоторые известные ограничения, о которых вам следует знать и проверять при включении ее в конфигурацию сборки приложения:
Установка .dex Файлы во время запуска в раздел данных устройства сложны и могут привести к ошибкам «Приложение не отвечает» (ANR), если вторичные файлы dex имеют большой размер. В этом случае вам следует применить методы сжатия кода с помощью ProGuard, чтобы минимизировать размер файлов dex и удалить неиспользуемые части кода.
Приложения, использующие multidex, могут не запускаться на устройствах, на которых работают версии платформа более ранней версии, чем Android 4.0 (уровень API 14) из-за ошибки Dalvik LinearAlloc (ошибка 22586). Если вы ориентируетесь на уровни API ниже 14, обязательно выполните тестирование на этих версиях платформы, поскольку в вашем приложении могут возникнуть проблемы при запуске или при загрузке определенных групп классов. Сжатие кода может уменьшить или, возможно, устранить эти потенциальные проблемы.
Приложения, использующие мультидексную конфигурацию, которая отправляет очень большие запросы на выделение памяти, могут аварийно завершить работу во время выполнения из-за ограничения Dalvik LinearAlloc (проблема 78035). Предел выделения был увеличен в Android 4.0 (уровень API 14), но приложения по-прежнему могут превышать этот предел в версиях Android до Android 5.0 (уровень API 21).
Существуют сложные требования. относительно того, какие классы необходимы в основном файле dex при выполнении в среде выполнения Dalvik. Обновления инструментов сборки Android соответствуют требованиям Android, но возможно, что другие включенные библиотеки имеют дополнительные требования к зависимостям, включая использование самоанализа или вызов методов Java из машинного кода. Некоторые библиотеки невозможно будет использовать до тех пор, пока инструменты мультидексной сборки не будут обновлены и не позволят вам указывать классы, которые должны быть включены в основной файл dex.

Хорошо, но... что произойдет, если вы используете minsdkversion и targetdkversions 21 или выше (Android 5.0 и выше) и не добавляете зависимость библиотеки support:multidex? будут ли эти ограничения существовать? необходимо будет добавить multidexEnabled true в файл градиента defaultConfig?
Я пробовал сделать это без multidexEnabled true в defaultConfig и использовании targetdkversion 21 и minsdkversion 21, и это дает мне ошибку компиляции: «Превышен предел метода».

Подробнее здесь: https://stackoverflow.com/questions/361 ... and-higher
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»