2010-04-22 82 views
15

我有一个标准的Java项目,其中编写了代码来解析来自Internet的一些BBC Radio XML数据。该项目被称为BBCSchedules,我感兴趣的类称为BBCChannel。将外部.jar文件导入到Android项目

我现在试图在Android应用程序中使用BBCChannel类。我应该如何去做这件事?

我已经尝试了各种各样的东西,在互联网上的各种建议之后,我现在需要的地方是将我的BBCSchedules项目编译为.jar文件,并将其导入到Android项目中构建路径/库/添加外部罐子选项。但是,Eclipse仍然无法识别BBCChannel类,因此不会让我运行该应用程序。

我想我做了一些愚蠢的错事,但它是什么?

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

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

+0

您确定要正确打包您的jar吗?您可以在命令行中使用它进行简单的测试java程序吗? – systempuntoout 2010-04-22 21:03:24

+0

是的,它在标准的java命令行程序中工作正常。 – robintw 2010-04-22 21:10:48

回答

24

将JAR放入您项目的libs/目录中。然后构建路径 - >库 - >添加JAR应该允许你从你的项目中选择一个。 IIRC,这适用于Eclipse。

如果您决定有一天要转储Eclipse,只需在您的JAR中使用libs/即可 - 命令行构建工具将自动提取它。

UPDATE:如果你有R17或ADT Eclipse插件的新版本,现在你只需要添加一个libs/目录,并把你的JAR在那里。它会自动添加到您的构建路径,很像使用命令行构建。

+1

谢谢。我已经将.jar添加到libs /目录,然后在Eclipse的Build Path中选中它,但Eclipse似乎仍然无法识别BBCChannel类,因此不会让我编译和运行我的应用程序。任何其他想法? – robintw 2010-04-23 08:58:43

+0

你确定你的课程是公开的吗? – CommonsWare 2010-04-23 11:20:25

+0

是的,我的课程是公开的,它可以从另一个简单的命令行测试程序中正常工作。我无法弄清楚它为什么不起作用!我可以上传文件的地方,如果你想... – robintw 2010-04-23 15:31:44

1

这是我做什么,和它的工作:

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

library.jar将被添加到项目中的“引用库”中,但不会添加到项目的文件夹中。我现在可以使用该外部库运行我的项目,但我不会收到错误,但我不知道这是否是通常的方式。作为每个人,我的存档不在“libs”文件夹中。你应该尝试我所做的。

1

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

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

之后,做与上述版本中提到的相同的东西。

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

+0

这一个为我工作,谢谢。 Android eclipse将java设置为1.6合规性级别,但是我在1.7合规级别构建了其他类的JAR,只要我将其他项目设置为1.6并导出jar一切开始工作。 – 2013-02-04 10:45:00