【问题标题】:Importing external .jar file to Android project [duplicate]将外部 .jar 文件导入 Android 项目 [重复]
【发布时间】:2011-02-11 06:30:07
【问题描述】:

我有一个标准的 Java 项目,我在其中编写了代码来解析来自互联网的一些 BBC Radio XML 数据。该项目名为 BBCSchedules,我感兴趣的课程名为 BBCChannel。

我现在尝试在 Android 应用程序中使用 BBCChannel 类。我该怎么做呢?

我尝试了各种方法,遵循互联网上的各种建议,而我目前要做的是将我的 BBCSchedules 项目编译为 .jar 文件,然后使用构建路径/库/添加外部 Jar 选项。但是,Eclipse 仍然无法识别 BBCChannel 类,因此不会让我运行应用程序。

我想我做错了什么愚蠢的错误,但这是什么?

更新:我已经尝试了How can I use external JARs in an Android project? 中列出的步骤以及我发现的其他各种 StackOverflow 问题,这些问题似乎与此相关,但似乎没有任何效果。还有其他想法吗?

更新:我与下面第一个答案的作者进行的讨论表明,这与我如何使用 Eclipse 附加 .jar 文件有关。他发送给我的带有已附加 .jar 文件的项目不起作用。还有其他想法吗?

【问题讨论】:

  • 你确定你的jar包正确吗?你能在命令行的一个简单的测试java程序上使用它吗?
  • 是的,它在标准的 java 命令行程序中运行良好。

标签: java android jar


【解决方案1】:

将 JAR 放入项目的 libs/ 目录中。然后 Build Path -> Library -> Add JAR 应该允许您从项目中选择一个。 IIRC,这适用于 Eclipse。

如果您决定有一天转储 Eclipse,只需将您的 JAR 放在 libs/ 中就足够了——命令行构建工具会自动选择它。

更新:如果您有 R17 或更新版本的 ADT Eclipse 插件,现在您只需添加一个libs/ 目录并将您的 JAR 放入其中。它将自动添加到您的构建路径中,就像使用命令行构建一样。

【讨论】:

  • 谢谢。我已将 .jar 添加到 libs/ 目录,然后在 Eclipse 的 Build Path 中选择它,但 Eclipse 似乎仍然无法识别 BBCChannel 类,因此不会让我编译和运行我的应用程序。还有其他想法吗?
  • 你确定你的课程是公开的吗?
  • 是的,我的课程是公开的,它可以在另一个简单的命令行测试程序中正常工作。我无法弄清楚为什么它不起作用!如果您愿意,我可以将文件上传到某个地方...
  • 我不使用 Eclipse,所以您的困难与您如何将 JAR 附加到 Eclipse 项目有关。在 Eclipse 之外,它是自动的。自从我上次教我的课程以来已经有几个月了,我对 Eclipse 步骤生疏了——抱歉!
  • :: shrug :: 如果您访问github.com/commonsguy,所有“cwac-”项目都旨在为 Android 构建可重用的 JAR。看看这些,看看是否有什么东西让你觉得是你的困难的根源。
【解决方案2】:

这就是我所做的,它奏效了:

  • 右键单击您的项目
  • 构建路径 > 添加外部档案
  • 选择您的存档 (.jar)

library.jar 将被添加到项目中的“引用库”中,但不会添加到项目的文件夹中。我现在可以使用该外部库运行我的项目,并且我没有收到错误,但我不知道这是否是通常的方法。和大家一样,我的存档不在“libs”文件夹中。你应该试试我的做法。

【讨论】:

    【解决方案3】:

    检查 jar 的版本以及您的系统 Java 版本。如果 jar 版本与系统版本兼容,它将运行。

    此外,通过在命令提示符下运行 java -jar filename.jar 检查 Jar。

    然后按照上面的版本做同样的事情。

    如果不是,请传递您的 jar 和示例代码。

    【讨论】:

    • 这个对我有用,谢谢。 Android eclipse 将 java 设置为 1.6 合规级别,但我正在构建一个 1.7 合规级别的其他类的 JAR,只要我将其他项目设置为 1.6 并导出 jar,它就开始工作了。
    猜你喜欢
    • 2012-05-27
    • 2021-12-11
    • 2011-05-24
    • 2013-07-19
    • 2023-03-08
    • 1970-01-01
    • 2013-12-02
    • 2015-05-28
    • 2019-12-31
    相关资源
    最近更新 更多