0

我知道有很多这样的问题,但是我遵循了很多不同的解决方案,但都没有成功。

我在 Mac OSX 10.6.8 上运行 Eclipse 3.7。我以前在这个 SDK 上开发过 Android 应用程序,并让它们编译。但是,在我的最新项目中(当它处于非常基本的状态时,我已经让它使用 Android 虚拟设备编译和运行),当我告诉它运行(在虚拟设备上对其进行测试)时,我得到了这个错误消息(即使我的项目中没有小红色 X 或任何其他可检测的错误):

[2012-09-01 18:13:48 - RadarGun] Dx 故障处理“java/andythompson/radargun/BuildConfig.class”:

不构建核心库时对核心类(java.* 或 javax.*)的不明智或错误使用。

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

但是,您实际上可能正在尝试在核心命名空间中定义一个类,例如,您可能从非 Android 虚拟机项目中获取了该类的源代码。这肯定是行不通的。至少,它会危及您的应用程序与平台未来版本的兼容性。它的合法性也经常受到质疑。

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

如果您继续使用“--core-library”,但实际上正在构建应用程序,那么请预先警告您的应用程序在某些时候仍将无法构建或运行。请为愤怒的客户做好准备,他们会发现,例如,一旦他们升级操作系统,您的应用程序就会停止运行。你会为这个问题负责。

如果您合法地使用了一些恰好位于核心包中的代码,那么您拥有的最简单安全的替代方法是重新打包该代码。也就是说,将有问题的类移动到您自己的包命名空间中。这意味着它们永远不会与核心系统类发生冲突。JarJar 是一个可以帮助您完成这项工作的工具。如果你发现你做不到这一点,那么这表明你所走的道路最终会导致痛苦、痛苦、悲伤和悲叹。

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

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

我已经尝试了整个项目-> 属性-> 构建路径-> 删除除您正在处理的项目之外的所有项目-> 清理部分。

还有其他建议吗?谢谢

4

1 回答 1

-1

还有其他建议吗?

好吧,错误消息表明您的代码正在使用它不应该使用的java.*或类。javax.*因此,请尝试检查您的代码以找出它抱怨的类。

于 2012-09-02T01:39:41.963 回答