2012-09-02 99 views
0

我知道存在许多像这样的问题,但是我已经跟踪了一大堆没有成功的解决方案。转换为Dalvik格式失败,因为Mac上的错误1出现问题

我在Mac OSX 10.6.8上运行Eclipse 3.7。我以前曾在这个SDK上的Android应用程序上工作,并让他们编译。但是,在我最新的项目中(当它处于非常基本的状态时,我已经使用Android虚拟设备进行编译和运行),当我将它告诉Run(在虚拟设备上测试它)时,出现此错误消息(即使有不小的红色X的或任何东西在我的项目或其他检测失误的任何地方):

[2012-09-01 18时十三分48秒 - RadarGun] DX 故障处理的“java/andythompson/radargun /BuildConfig.class“:

当不构建核心库时,建议或错误地使用核心类(java。*或javax。*) 。

这通常是由于在使用IDE(例如 Eclipse)时在应用程序项目中无意中包含了核心库文件 。如果你确定你不是故意定义一个 核心类,那么这是对 正在进行的最可能的解释。

但是,您可能实际上正试图在核心 名称空间中定义一个类,该名称空间可能来自您的源,例如,来自非Android虚拟机项目的 。这将大多数 肯定无法正常工作。至少,它会危害您的应用与该平台的未来版本的兼容性 。 它也常常是有问题的合法性。

如果你真的打算建立一个核心库 - 这是只有 适合作为创建一个完整的虚拟机 发行版的一部分,而不是编译应用程序 - 然后使用 的“--core库”选项来抑制此错误消息。

如果你继续使用“--core库”,但事实上是 构建应用程序,然后谅解,您的应用程序 仍然将无法生成或运行,在某些时候。请为 为愤怒的客户做好准备,例如,发现您的 应用程序在升级其运行的 系统后将停止运行。你会责怪这个问题。

如果您正在合理使用 核心软件包中的某些代码,那么最简单的安全替代方法是 重新打包该代码。也就是说,将有问题的类移动到您自己的包名称空间的 。这意味着他们永远不会与 与核心系统类冲突。 JarJar是一个工具,可以帮助你在这个努力中。如果你发现你不能这样做,那么这表明你所在的路径最终会导致痛苦,痛苦,悲伤和悲伤。

[2012-09-01 18:13:48 - RadarGun] Dx 1 error;堕胎 [2012-09-01 18:13:48 - RadarGun]转换为Dalvik格式失败,错误1

---------------------- ----(错误信息结束)-----------------------

我试过了整个Project-> Properties-> Build路径 - >除了正在处理的东西之外的所有东西,以及随后的项目 - >清理部分。

其他建议?谢谢

回答

-1

其他建议?

好了,错误信息你的代码使用java.*javax.*类,它不应该被使用。因此,请尝试检查您的代码,找出它抱怨的课程。

+1

我开始了一个新的包,因为我已经命名了我的包java.myname.packagename,我猜你不能用java开始(我在网上看过一个例子,但我猜这是错误的)。 –

+0

您当然*不应该*使用“java”启动您的软件包名称之一。或“javax”。那些软件包命名空间是为Sun/Oracle类正式保留的......并且您甚至可能因商标侵犯而陷入困境。 –

相关问题