尝试修复机器人“不明智或错误地使用核心课程”变坏了

时间:2013-08-16 06:08:23

标签: java android android-emulator

在尝试通过我在网络上看到的内容来解决这个问题后,我仍然无法弄清楚这意味着什么:

[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'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.

[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  

我自己添加了一个外部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

5 个答案:

答案 0 :(得分:5)

Dalvik JVM不支持Oracle JDK的整个API。我认为javax.*包不适用于Android。例如,Android上没有Java的AWTSwingGraphics2D

从错误中看,您的应用似乎正在使用此类:http://docs.oracle.com/javase/7/docs/api/javax/xml/namespace/QName.html

如果您将IDE设置为使用Android SDK而不是JDK,则不会发生这种情况。

答案 1 :(得分:5)

如果您正在使用Maven构建,那么请确保您对android SDK的依赖性具有provided的范围,否则您将收到此消息,因为DEX尝试包含android.jar中的所有类。 / p>

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

答案 2 :(得分:0)

我在将项目从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' 。问题解决了。

答案 3 :(得分:0)

由于一些用户询问gradle: 在Android Studio中,您可能会在gradle构建中引用库,就像这样(让我们说javax.annotation):

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

从依赖项中删除(注释掉)此调用。

download jar file,在libs文件夹中加注,然后右键点击Add as library。雨天你应该是对的。

答案 4 :(得分:0)

我遇到了类似的抱怨。事实证明我的外部库与android SDK中的类相同。

所以我的决心是使用自定义SDK而不是android SDK。

为此,请执行以下步骤: o A,更改目录&#39; sdk.dir&#39;在local.properties中 o B,&#34;将项目与SDK文件同步&#34;。该按钮应该能够位于工具栏上。在弹出窗口中,选择&#34; project SDK&#34;。 o它可能会要求下载平台构建工具(取决于build.gradle文件中的定义。例如,在buildToolsVersion的字段中,值为23.0.3.Android studio可能会要求获得下载权限。允许下载。 o Android studio应该能够编译和构建APK。