INSTALL_FAILED_DEXOPT при использовании GreenDao

Фон

Я хотел упростить использование БД в приложении для Android.

Для этого я сравнил некоторые сторонние библиотеки, которые создают слой DAO.

Я придумал красивую библиотеку под названием " GreenDao" (презентация об этом здесь) . Веб-сайт показывает, что он быстрее других конкурентов (например, ORMLite) и оптимизирован для Android.

Эта проблема

По какой-то причине на каком-то устройстве (обычно старом, с ГБ) я получаю следующую ошибку консоли при попытке установить приложение:

Installation error: INSTALL_FAILED_DEXOPT
Please check logcat output for more details.
Launch canceled!

Я искал причину этой ошибки, но не смог найти способ ее устранения. Многие жалуются на эту ошибку, но я не могу понять, почему она возникает и что можно сделать.

Ошибка довольно распространенная и известная, но она никогда не упоминается как результат использования этой библиотеки, но когда я удаляю использование этой библиотеки, все работает нормально...

Также обратите внимание, что на более новых устройствах (таких как nexus 4) он устанавливается и работает просто отлично, и что сам образец также работает нормально независимо от того, на каком устройстве я его тестирую.

Вопрос

Почему это происходит?

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

Может быть, я достиг предела кода, который поддерживается приложениями для Android?

Сам файл JAR занимает всего 87 КБ...

Как я могу решить это?

1 ответ

Решение

Хорошо, я нашел проблему и решение:

Это не имеет ничего общего с GreenDao.

Это потому, что приложение использует слишком много банок, поэтому, возможно, Android имеет ограничение кода.

Решение состоит в том, чтобы удалить ненужные файлы JAR или удалить много кода.

Другие вопросы по тегам