【问题标题】:Attempt to include a core class (java.* or javax.*) in something other than a core library尝试在核心库以外的其他东西中包含核心类(java.* 或 javax.*)
【发布时间】:2010-12-06 15:18:56
【问题描述】:

嗨,我是新的机器人。我正在处理示例,并且在运行 HelloGridView 应用程序时出现错误。 Eclipse 给出以下错误。有没有人出现以下错误?谢谢。

[2010-12-06 14:38:16-HelloGridView] 处理“javax/net/ServerSocketFactory.class”时出现问题: [2010-12-06 14:38:16-HelloGridView] 尝试在其他东西中包含核心类(java.* 或 javax.*) 而不是核心库。您可能已尝试包括 在应用程序中,来自桌面的核心库(或其一部分) 虚拟机。这肯定是行不通的。至少,它 危害您的应用程序与未来版本的兼容性 平台。它的合法性也经常受到质疑。

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

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

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

[2010-12-06 14:38:16 - HelloGridView] 1 个错误;中止 [2010-12-06 14:38:16 - HelloGridView] 转换为 Dalvik 格式失败,错误 1

【问题讨论】:

  • 请发布您的代码。这是取自同名的教程示例吗?似乎您在命名空间中添加了一些东西,警告您不要使用,或者您的设置有问题。您是否已成功构建任何其他 Android 应用程序?
  • 我遇到了同样的问题,它是从我启动 Eclipse 的一天开始的。我没有添加任何新库、更改任何项目设置、安装任何插件或扩展。 Eclipse 一天很好,然后第二天就这样了。据我所知,错误源于android.jar库中的类文件in

标签: android


【解决方案1】:

Android 框架不允许在您的项目中添加 JAVA 核心库作为外部 jar。

以下是如何将库添加到应用程序:

  1. 通过右键单击项目并选择属性打开项目属性
  2. 在左侧窗格中选择 JAVA 构建路径
  3. 从右侧选择库选项卡
  4. 点击添加库按钮
  5. 选择 JRE 系统库并添加所需的包。

【讨论】:

  • 我也遇到了同样的问题,但是我已经尝试了所有可以在 SO 上找到的方法,但仍然没有解决!看来问题出在 in android.jar 库的类文件中!我开始拔头发了!
  • 我认为这只能让编译器解析JRE类。然后就可以成功构建项目了。但是,应该存在运行时错误,因为 android JVM 无法找到这些类资源。
【解决方案2】:

我遇到了同样的问题,并注意到我已将系统 JRE 库添加为构建路径依赖项之一。但是,删除后问题并没有消失。

然后我删除了 android.jar 文件作为构建路径依赖项,它开始工作。可能它与来自其他项目依赖项之一的包含冲突,因为该项目依赖于其他 android 项目。

【讨论】:

    【解决方案3】:

    对于不使用英语工作的人,它也可能是包含特殊字符 (éàè...) 的项目名称。我遇到了同样的问题,重命名了我的项目(使用 F2)并且它起作用了。

    【讨论】:

      【解决方案4】:

      我通过检查项目依赖项并删除 Android 依赖项来消除此错误。

      在 Eclipse 中: 右键单击项目 -> 属性 ->Java 构建路径 -> 库,然后我删除了 android 依赖项

      【讨论】:

      • 这就像通过删除/注释违规行来修复编译问题,并一直这样做直到编译通过。不是投票否决问题的答案
      【解决方案5】:

      通过Build Path--Add Libraries--User Library--User Libraries--new添加外部jar文件时勾选System Library

      【讨论】:

        【解决方案6】:

        我遇到了同样的问题,经过几天的搜索和斗争,我找到了这个帖子。它并没有解决我的问题,但可以帮助我找到解决方案。 我执行上述步骤:

        1. 通过右键单击项目并选择打开项目属性 属性。
        2. 我看到我有 Android 2.1 库和 Android 1.6 库。
        3. 删除了所有库。
        4. 将我项目的 Android 版本从 1.6 更改为 2.2.1
        5. 清理项目

        这解决了我的问题。该应用程序现在正在运行。 顺便说一句,我正在尝试的应用程序是 Android 自动应答 (http://code.google.com/p/auto-answer/source/browse#svn%2Ftrunk%2Fres%2Fdrawable-hdpi)

        【讨论】:

          【解决方案7】:

          从导入的项目名称中删除空格为我解决了这个问题。

          【讨论】:

          • 这不是问题或解决方案,让我们称之为与发布的问题无关。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2022-06-16
          • 1970-01-01
          • 1970-01-01
          • 2011-07-04
          • 2018-05-27
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多