将库/ JAR添加到Eclipse Android项目中

Rus*_*man 130 eclipse android jar android-library

这是关于在Eclipse中向Android项目添加第三方库(JAR)的两部分问题.

问题的第一部分是,当我尝试将第三方JAR(库)添加到我的Android项目时,我首先得到的问题是

解析XML时出错:未绑定前缀

因为我正在尝试使用该JAR中的一个类(并且需要以某种方式定义的前缀).这是怎么回事?

其次,(在解决之后 - 下面给出了答案),我的应用程序无法在Android上运行,我通过调试器(LogCat)发现我尝试使用的类不存在.

引起:java.lang.ClassNotFoundException:com.github.droidfu.widgets.WebImageView ...

为什么,当我在Eclipse中没有编译或链接器错误时,它是否在模拟器上出现此问题?

这两个问题是修辞性的,我将在下面自己回答这些问题.这个论坛中的其他帖子可以解决问题,其他地方也有讨论,但我觉得我可以更明确地帮助下一个人来.

Rus*_*man 316

现在为缺少类问题.

我是Eclipse Java EE开发人员,多年来一直习惯通过Build Path中的"User Library"机制添加第三方库.当然,至少有3种方法可以添加第三方库,我用的是最优雅的,我的拙见.

但是,对于Android,其Dalvik"JVM"无法处理普通的Java编译类,但必须将其转换为特殊格式,这不起作用.当您以我不会这样做的方式添加库时,不会发生这种情况.

相反,请遵循(广泛可用的)导入第三方库的说明,然后使用Build Path添加它(这使Eclipse知道它用于编译目的).这是一步一步:

  1. 将库下载到主机开发系统.
  2. 在Eclipse/Android项目中创建一个新文件夹libs.
  3. 右键单击libs并选择Import - > General - > File System,然后单击Next,在文件系统中浏览以查找库的父目录(即:您将其下载到的目录).
  4. 单击"确定",然后单击左窗格中的目录名称(而不是复选框),然后在右窗格中检查相关的JAR.这会将库放入您的项目中(物理上).
  5. 右键单击您的项目,选择Build Path - > Configure Build Path,然后单击Libraries选项卡,然后单击Add JARs ...,导航到libs目录中的新JAR 并添加它.(顺便说一下,这是您的新JAR转换为在Android上使用的时刻.)

注意

如果lib已包含在构建路径中,则可能不需要步骤5.在添加之前先确保它的存在.

你在这里做了什么完成了两件事:

  1. 在您的Android项目中包含Dalvik转换的JAR.
  2. 使Java定义可供Eclipse使用,以便在开发(即编译)项目的源代码时查找第三方类.

  • 所以,我稍微重写了部分问题.我已经抵制了做简单事情的诱惑(你在这里提出的建议),因为我真的认为这两个问题都来自于试图添加第三方图书馆,而且我认为任何有第二个问题的人都可能拥有第一个也是.谢谢. (3认同)
  • 嗨@RussBateman我尝试了你上面提到的步骤,并且成功地能够在我的android项目中包含库jar,因此在编译时我的项目可以访问库类.但是当我运行项目时,我收到一个错误在我的控制台中:"转换为Dalvik格式失败,错误1"..我的项目将无法启动! (2认同)

Pau*_*ire 20

确保您的第三方罐子在您的项目"libs"文件夹中,当您打包应用程序时,它们将被放入.apk中.如果不支持jar中的某些内容,您可能会在设备上看到运行时错误,但除此之外我已经取得了很大的成功.


小智 5

建立图书馆计划

库项目是标准的Android项目,因此您可以像创建新应用程序项目一样创建新项目.

在创建库项目时,可以根据需要选择任何应用程序名称,包和设置其他字段,如图1所示.

接下来,设置项目的属性以指示它是一个库项目:

在包资源管理器中,右键单击库项目,然后选择"属性".在"属性"窗口中,选择左侧的"Android"属性组,然后在右侧找到"库"属性.选中"is Library"复选框,然后单击"应用".单击"确定"关闭"属性"窗口.新项目现在标记为图书馆项目.您可以开始将源代码和资源移入其中,如以下部分所述.