【问题标题】:Conversion to Dalvik format failed with error 1 on Eclipse for Mac在 Eclipse for Mac 上转换为 Dalvik 格式失败,出现错误 1
【发布时间】:2012-09-02 01:17:29
【问题描述】:

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

我在 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(例如 蚀)。如果你确定你不是故意定义一个 核心类,那么这是最可能的解释是什么 继续。

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

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

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

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

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

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

我已经尝试了整个项目->属性->构建路径->除了你正在处理的东西之外的所有内容以及项目->之后清理部分。

还有其他建议吗?谢谢

【问题讨论】:

    标签: java android eclipse compiler-errors dalvik


    【解决方案1】:

    还有其他建议吗?

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

    【讨论】:

    • 我开始了一个新的包,因为我已经将我的包命名为 java.myname.packagename 并且我猜你不能从 java 开始(我在网上的一个例子中看到过,但我猜它是错误的)。
    • 您当然不应该以“java”开头您的包名称之一。或“javax。”。这些包命名空间是为 Sun/Oracle 类正式保留的……您甚至可能会因商标侵权而陷入麻烦。
    猜你喜欢
    • 1970-01-01
    • 2012-02-08
    • 2012-12-07
    • 2011-06-29
    • 1970-01-01
    • 2012-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多