Ошибка экспорта Android

Когда я пытаюсь экспортировать свое приложение для Android, я получаю это сообщение об ошибке.

   [2012-05-02 14:34:07 - MyApplication] Dx 
    trouble processing "java/nio/CharBuffer.class":

Опрометчивое или ошибочное использование основного класса (java.* или javax.*), когда не создается основная библиотека.

Это часто происходит из-за непреднамеренного включения файла основной библиотеки в проект вашего приложения при использовании IDE (например, Eclipse). Если вы уверены, что не намеренно определяете базовый класс, то это наиболее вероятное объяснение того, что происходит.

Однако на самом деле вы можете попытаться определить класс в основном пространстве имен, источник которого вы могли взять, например, из проекта виртуальной машины, отличной от Android. Это наверняка не сработает. Как минимум, это ставит под угрозу совместимость вашего приложения с будущими версиями платформы. Это также часто сомнительной законности.

Если вы действительно собираетесь создать базовую библиотеку, которая подходит только для создания полного дистрибутива виртуальной машины, а не для компиляции приложения, используйте параметр «--core-library», чтобы подавить это сообщение об ошибке.

Если вы продолжите использовать «--core-library», но на самом деле создаете приложение, то имейте в виду, что ваше приложение все равно не будет собрано или запущено в какой-то момент. Пожалуйста, будьте готовы к разгневанным клиентам, которые обнаружат, например, что ваше приложение перестанет работать после обновления их операционной системы. Вы будете виноваты в этой проблеме.

Если вы законно используете какой-то код, который оказался в основном пакете, то самая простая безопасная альтернатива, которая у вас есть, — это переупаковать этот код. То есть переместите рассматриваемые классы в собственное пространство имен пакетов. Это означает, что они никогда не будут конфликтовать с базовыми системными классами. JarJar — это инструмент, который может помочь вам в этом начинании. Если вы обнаружите, что не можете этого сделать, то это указывает на то, что путь, по которому вы идете, в конечном итоге приведет к боли, страданию, горю и плачу.

[2012-05-02 14:34:07 - MyApplication] Dx 1 error; aborting
[2012-05-02 14:34:07 - MyApplication] Conversion to Dalvik format failed with error 1
[2012-05-02 14:42:22 - MyApplication] Dx 
trouble processing "java/nio/CharBuffer.class":

Ill-advised or mistaken usage of a core class (java.* or javax.*)
when not building a core library.

person penguru    schedule 02.05.2012    source источник
comment
@cjk Как я уже писал в начале вопроса. Когда я пытаюсь экспортировать свое приложение для Android, я получаю это сообщение об ошибке.   -  person penguru    schedule 02.05.2012
comment
Кстати, я понял, что получаю это сообщение об ошибке, когда пытаюсь использовать proguard. Нет ошибки, когда я удаляю строку proguard.config=proguard.cfg из project.properties   -  person penguru    schedule 02.05.2012


Ответы (2)


Правильно ли включены внешние ссылки. При работе с внешним апи часто возникает проблема с экспортом, хотя вроде ошибки нет. Проверьте со ссылками.

person sidG    schedule 02.05.2012

Я нашел решение..

Инструменты Android SDK версии 12 имеют проблемы с Proguard =› ошибка преобразования в формат Dalvik завершилась ошибкой 1

Я скачал последнюю версию proguard, и она исправлена.

person penguru    schedule 02.05.2012