2015-01-08 2 views
0

Когда я пытаюсь создать APK с интеграцией с mobileposse, я получаю следующую ошибку, не уверен, чего не хватает.

[2015-01-08 14:20:54 - Dex Loader] Unable to execute dex: Multiple dex files define Lcom/mobileposse/client/sdk/core/Manifest$permission; 
[2015-01-08 14:20:54 - Optimize My Android] Conversion to Dalvik format failed: Unable to execute dex: Multiple dex files define Lcom/mobileposse/client/sdk/core/Manifest$permission; 

Я загрузил mobileposse SDK в качестве библиотеки в моем проекте и ссылки на код отлично работает, поэтому я не добавлять большие куски информации о том, что я сделал.

+0

Вы должны много методов в сборки. Таким образом, dexer не может скомпилировать приложение, поскольку он может ссылаться только на методы 65k. Попытайтесь использовать proguard или используйте сборку multidex build wih. –

ответ

0

Android приложение (APK) файлы содержат исполняемые файлы байткодом в форму Dalvik Executable (DEX) файлы, которые содержат скомпилированный код, используемый для запуска приложения. Спецификация исполняемого файла Dalvik ограничивает общее количество методов, на которые можно ссылаться в одном файле DEX , до 65 536, включая методы каркаса Android, методы библиотеки, и методы в вашем собственном коде. https://developer.android.com/tools/support-library/features.html

Есть несколько вариантов, вы можете попробовать:

избавившись от балласта

ли вам действительно нужны все эти библиотеки в вашем проекте. В частности, сервисы google play теперь разделены в разных разделах (например, диск, обмен сообщениями, ....), не используют старый старый, который включает в себя все функции.

Proguard

Try раздеться количество методов, использующих ProGuard.

Multidex Поддержка

Попробуйте использовать последнюю Gradle плагин и multidex библиотеку поддержки. Google Developers

Дополнительная информация:

Link, Link

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