Попытка исправить андроиды "плохое или ошибочное использование основного класса" пошло плохо - программирование
Подтвердить что ты не робот

Попытка исправить андроиды "плохое или ошибочное использование основного класса" пошло плохо

После попытки исправить это самостоятельно, из того, что я видел по сети, я не могу понять, что это значит:

[2013-08-15 23:58:27 - StudioTab] Dx 
trouble processing "javax/xml/namespace/QName.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 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.

[2013-08-15 23:58:27 - StudioTab] Dx 1 error; aborting
[2013-08-15 23:58:27 - StudioTab] Conversion to Dalvik format failed with error 1

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

Google APIs [Android 3.0]
Android Dependencies
   annotations.jar
Android Private Libraries
    A ton of jars for various functionality i need: CSV writing, talking to the           google calendar somehow...etc...etc.  They are jars I found on the net, not ripped from another project but found to solve problems i.e. how to access google calendar from the device and read/write to it etc...  is this where my problem lies? I can provide a complete list of the jars I am using here.
android-support-v4.jar  

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

Итак, где я даже начинаю выглядеть так, что я могу снова забрать этот проект... получить его компиляцию и запуск на эмуляторе.

Папка LIBS выглядит так:        Объем в диске D - это LargeWorkDisk        Объемный серийный номер 206C-D951

     Directory of D:\Programming\StudioTab\libs

    08/16/2013  12:39 AM    <DIR>          .
    08/16/2013  12:39 AM    <DIR>          ..
    08/15/2013  09:45 PM         1,700,072 android-1.5_r4-sources.jar
    08/15/2013  09:45 PM         2,136,034 android-1.5_r4.jar
    08/15/2013  09:45 PM            55,191 commons-codec-1.3-sources.jar
    08/15/2013  09:45 PM            46,725 commons-codec-1.3.jar
    08/15/2013  09:45 PM            74,976 commons-logging-1.1.1-sources.jar
    08/15/2013  09:45 PM            60,686 commons-logging-1.1.1.jar
    08/15/2013  09:45 PM            53,983 google-api-client-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM            44,653 google-api-client-1.5.0-beta.jar
    08/15/2013  09:45 PM            13,356 google-api-client-extensions-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM            15,276 google-api-client-extensions-1.5.0-beta.jar
    08/15/2013  09:45 PM             3,459 google-api-client-extensions-android2-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM             4,556 google-api-client-extensions-android2-1.5.0-beta.jar
    08/15/2013  09:45 PM           309,295 google-collections-1.0-sources.jar
    08/15/2013  09:45 PM           639,592 google-collections-1.0.jar
    08/15/2013  09:45 PM           188,771 google-http-client-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM           196,915 google-http-client-1.5.0-beta.jar
    08/15/2013  09:45 PM             6,433 google-http-client-extensions-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM             7,807 google-http-client-extensions-1.5.0-beta.jar
    08/15/2013  09:45 PM             3,021 google-http-client-extensions-android2-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM             3,854 google-http-client-extensions-android2-1.5.0-beta.jar
    08/15/2013  09:45 PM             6,638 google-http-client-extensions-android3-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM            10,418 google-http-client-extensions-android3-1.5.0-beta.jar
    08/15/2013  09:45 PM            35,765 google-oauth-client-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM            34,394 google-oauth-client-1.5.0-beta.jar
    08/15/2013  09:45 PM            38,030 google-oauth-client-extensions-1.5.0-beta-sources.jar
    08/15/2013  09:45 PM            48,289 google-oauth-client-extensions-1.5.0-beta.jar
    08/15/2013  09:45 PM           140,057 gson-1.6-sources.jar
    08/15/2013  09:45 PM           164,984 gson-1.6.jar
    08/15/2013  09:45 PM           640,031 guava-r09-sources.jar
    08/15/2013  09:45 PM         1,143,921 guava-r09.jar
    08/15/2013  09:45 PM           390,195 httpclient-4.0.3-sources.jar
    08/15/2013  09:45 PM           292,893 httpclient-4.0.3.jar
    08/15/2013  09:45 PM           291,844 httpcore-4.0.1-sources.jar
    08/15/2013  09:45 PM           172,888 httpcore-4.0.1.jar
    08/15/2013  09:45 PM           200,880 jackson-core-asl-1.6.7-sources.jar
    08/15/2013  09:45 PM           201,086 jackson-core-asl-1.6.7.jar
    08/15/2013  09:45 PM           283,945 jdo2-api-2.3-eb-sources.jar
    08/15/2013  09:45 PM           192,820 jdo2-api-2.3-eb.jar
    08/15/2013  09:45 PM           476,722 joda-time-1.6-sources.jar
    08/15/2013  09:45 PM           534,827 joda-time-1.6.jar
    08/15/2013  09:45 PM            39,665 jsontoken-1.0-sources.jar
    08/15/2013  09:45 PM            37,877 jsontoken-1.0.jar
    08/15/2013  09:45 PM            33,015 jsr305-1.3.9.jar
    08/15/2013  09:45 PM           147,086 junit-4.8.2-sources.jar
    08/15/2013  09:45 PM           237,344 junit-4.8.2.jar
    08/16/2013  12:39 AM                 0 libsdir.txt
    08/15/2013  09:45 PM            11,358 LICENSE
    08/15/2013  09:45 PM            14,146 opencsv-2.3.jar
    08/15/2013  09:45 PM            12,986 opengl-api-gl1.1-android-2.1_r1-sources.jar
    08/15/2013  09:45 PM            18,492 opengl-api-gl1.1-android-2.1_r1.jar
    08/15/2013  09:45 PM           125,968 ormlite-android-4.24-javadoc.jar
    08/15/2013  09:45 PM            22,285 ormlite-android-4.24-sources.jar
    08/15/2013  09:45 PM            32,707 ormlite-android-4.24.jar
    08/15/2013  09:45 PM           216,486 ormlite-core-4.24.jar
    08/15/2013  09:45 PM           140,718 protobuf-java-2.2.0-sources.jar
    08/15/2013  09:45 PM           320,306 protobuf-java-2.2.0.jar
    08/15/2013  09:45 PM               501 readme.html
    08/15/2013  09:45 PM           158,114 servlet-api-2.5-sources.jar
    08/15/2013  09:45 PM           105,112 servlet-api-2.5.jar
    08/15/2013  09:45 PM            25,014 transaction-api-1.1-sources.jar
    08/15/2013  09:45 PM            15,071 transaction-api-1.1.jar
    08/15/2013  09:45 PM           124,724 xmlParserAPIs-2.6.2.jar
    08/15/2013  09:45 PM           128,334 xpp3-1.1.4c-sources.jar
    08/15/2013  09:45 PM           120,069 xpp3-1.1.4c.jar
                  64 File(s)     12,952,660 bytes
                   2 Dir(s)  2,057,125,945,344 bytes free
4b9b3361

Ответ 1

Dalvik JVM не поддерживает весь API Oracle JDK. Я думаю, что пакеты javax.* недоступны для Android. Например, там нет AWT или Swing или Graphics2D Java на Android.

Из этой ошибки похоже, что приложение использует этот класс: http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html

Этого не должно произойти Если вы настроили свою IDE для использования Android SDK вместо JDK.

Ответ 2

Если вы используете Maven для сборки, убедитесь, что ваша зависимость от SDK android имеет область provided, иначе вы получите это сообщение, поскольку DEX пытается включить все классы в android.jar.

Т.е

  <dependency>
      <groupId>android</groupId>
      <artifactId>android</artifactId>
      <version>4.4.2_r3</version>
      <scope>provided</scope>
  </dependency>

Ответ 3

Я установил аналогичную проблему, выбрав альтернативный набор зависимостей при переносе проекта из Eclipse в Android Studio. Первоначально я использовал springframework.web и javax.xml.transform, чтобы мой код прошел сборку. Но приложение было прервано сразу во время выполнения с ошибкой "с ошибкой". Затем я заменил эти две зависимости "org.springframework.android: spring-android-rest-template:1.0.1.RELEASE ',' org.codehaus.jackson: jackson-mapper-asl: 1.9.13 'и' org.codehaus.jackson: джексон-ядро-над уровнем моря: 1.9.13. Проблема решена.

Ответ 4

Так как некоторые пользователи спрашивали о gradle: В Android Studio вы можете ссылаться на библиотеку из сборки gradle, например, таким образом (скажем javax.annotation):

compile 'javax.annotation:jsr250-api:1.0'

удалите (закомментируйте) этот вызов из ваших зависимостей.

загрузить файл jar, включить в папку libs и нажать правой кнопкой мыши на Add as library. Вы должны быть правы, как дождь.

Ответ 5

Я сталкиваюсь с подобными жалобами. Оказывается, моя внешняя библиотека имеет тот же класс, что и в SDK android.

Таким образом, мое разрешение заключается в том, что вместо SDK для Android можно использовать настраиваемый SDK.

Чтобы сделать это, выполните следующие действия: o A, измените каталог 'sdk.dir' в local.properties o B, "синхронизировать проект с SDK файлами". Кнопка должна располагаться на панели инструментов. Во всплывающем окне выберите "project SDK". o Может потребоваться загрузить инструмент для сборки платформы (зависит от определения в файле build.gradle. Например, в файле buildToolsVersion значение равно 23.0.3. Студия Android может попросить разрешение на ее загрузку. Разрешить загрузку. o Студия Android должна иметь возможность компилировать и строить APK.