Сбой преобразования в формат Dalvik с ошибкой 1 в Android 4?

#android

#Android

Вопрос:

В моем приложении для Android в eclipse я получаю следующую ошибку:

 [2011-11-03 19:39:12 - MiniPauker 1.0] Dx 
trouble processing "java/crcis/pauker/AddCardActivity$1.class":

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

This is often due to inadvertently including a core library file
in your application's project, when using an IDE (such as
Eclipse). If you are sure you're not intentionally defining a
core class, then this is the most likely explanation of what's
going on.

However, you might actually be trying to define a class in a core
namespace, the source of which you may have taken, for example,
from a non-Android virtual machine project. This will most
assuredly not work. At a minimum, it jeopardizes the
compatibility of your app with future versions of the platform.
It is also often of questionable legality.

If you really intend to build a core library -- which is only
appropriate as part of creating a full virtual machine
distribution, as opposed to compiling an application -- then use
the "--core-library" option to suppress this error message.

If you go ahead and use "--core-library" but are in fact
building an application, then be forewarned that your application
will still fail to build or run, at some point. Please be
prepared for angry customers who find, for example, that your
application ceases to function once they upgrade their operating
system. You will be to blame for this problem.

If you are legitimately using some code that happens to be in a
core package, then the easiest safe alternative you have is to
repackage that code. That is, move the classes in question into
your own package namespace. This means that they will never be in
conflict with core system classes. JarJar is a tool that may help
you in this endeavor. If you find that you cannot do this, then
that is an indication that the path you are on will ultimately
lead to pain, suffering, grief, and lamentation.

[2011-11-03 19:39:12 - MiniPauker 1.0] Dx 1 error; aborting
[2011-11-03 19:39:12 - MiniPauker 1.0] Conversion to Dalvik format failed with error 1
  

эта ошибка появляется только при запуске моего проекта. Я долго искал правильное решение, но все возможные решения не работают. Теперь я использую Android 4.0 и Eclipse 3.6

кстати, этот проект работал в Android 2.1, но в Android 4.0 нет!!!

Ответ №1:

Имя вашего пакета начинается с java, которое зарезервировано для основных пакетов Java. Вы должны переименовать свой пакет, если это вообще возможно.

Комментарии:

1. просто стоит заметить, что если он начинается с javax, происходит то же самое

Ответ №2:

Я получал это, потому что я вручную добавил android.jar к библиотекам сборки, потому что он говорил, что не находит библиотеки Android. Исправление заключалось в…

  1. Удалить android.jar из библиотек сборки

  2. Щелкните правой кнопкой мыши по проекту, перейдите в «Инструменты Android» и выберите «Исправить свойства проекта»

Надеюсь, это поможет.

Комментарии:

1. Спасибо, но я не знаю, как удалить android.jar из библиотек сборки. и когда я выбираю «Исправить свойства проекта», ничего не происходит!

2. Если вы щелкните правой кнопкой мыши на своем проекте, затем перейдите в раздел «Путь сборки Java», затем выберите вкладку «Библиотеки», должны быть включены библиотеки Android (а не просто «android.jar «) Я допустил ошибку, добавив вручную «android.jar » и это вызвало эту проблему. Это представление должно включать библиотеки API Android / Google (которые включают в себя jar-файлы в них). Надеюсь, это поможет.

3. В этой ситуации может случиться так, что вы включаете библиотеку / jar более одного раза, не обязательно android.jar , но другой. Сначала я бы проверил, чтобы убедиться, что это не так.

Ответ №3:

Вы должны убедиться, что ваш проект (или библиотеки зависимостей) не содержат android.jar в пути сборки (Проект> Свойства> Путь сборки Java> Порядок и экспорт).

Если ваш основной проект содержит android.jar в частных библиотеках Android вам нужно проверить путь сборки для всех библиотек, которые были добавлены в ваш проект, и удалить android.jar из пути сборки.

Ответ №4:

Измените ошибку, вызванную атрибутом области видимости пакета jar, из compile-> при условии, что эта операция может быть изменена в File-> Структура проекта-> Зависимости или в папке приложения project view в файле build.gradle есть зависимости, соответствующий пакет jar компилируется следующим образом: введите описание изображения здесь