13

我已经看到了这个主题的一些问题,但是当我搜索错误中的另一部分时,我什么也没找到,所以我决定发布一个带有完整解释的问题。

我的代码中没有发现任何错误。无处。所有库都添加完毕,外部库项目链接成功。没有迹象表明发射会出现任何问题。

然而,当我启动应用程序时——运行、编译和构建(自动)——我收到一条弹出消息,指出我的项目包含错误,我应该在尝试再次启动应用程序之前修复它们。

所以我摆弄了一些属性,我的同事发现Android Private Libraries必须签入“” Properties -> Java Build Path -> Order and Export(我之前已经检查了一个未选中的复选框以及其他复选框)。但是当我运行应用程序时 - 相同的弹出窗口,以及Console视图中的以下内容:(可怕的消息)

[2013-06-22 20:55:03 - TheApplication] Dx 
trouble processing "java/sql/Savepoint.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-06-22 20:55:03 - TheApplication] Dx 1 error; aborting
[2013-06-22 20:55:03 - TheApplication] Conversion to Dalvik format failed with error 1

以前有人收到过这个消息吗?为什么我会得到它?我应该去哪里寻找我什至可能不知道的“隐藏库”或“内部库”?

我已经和我的老板和同事核实过——他们在项目中都有相同的库(因为我们正在一起工作,所以我们显然必须拥有相同的东西)。那么我应该去哪里解决这个问题呢?

4

3 回答 3

15

我解决了在项目和库中的“订购和导出”选项卡中删除android.jar的问题。

于 2013-06-25T22:05:05.483 回答
4

以前有人收到过这个消息吗?

是的。不过,自 2009 年以来就没有了。

为什么我会得到它?

因为在项目的源代码或 JAR 中,java.sql.Savepoint除了来自 Android 运行时的接口之外,还有另一个接口副本。

我应该去哪里寻找我什至可能不知道的“隐藏库”或“内部库”?

您的 Eclipse 类路径。您可能希望使用构建路径对话框中的“订购和导出”屏幕截图来编辑您的问题。

于 2013-06-22T19:13:18.103 回答
1

有同样的问题。

以下操作帮助我摆脱了此错误消息。

1) 前往Project--> properties-->Java Build Path

2) 选择Order and Export tab

3) 取消选择Android Private LibrariesAndroid Dependencies点击ok

在此处输入图像描述

在此之后,应用程序成功启动。

于 2015-08-21T19:38:12.153 回答