向 Eclipse Android 项目添加库/JAR

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

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

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

因为我正在尝试使用来自那个 JAR 的类(并且需要以某种方式定义前缀)?

第二,(在修复了这个问题之后——下面给出了答案) ,我的应用程序在 Android 上无法工作,我通过调试器(LogCat)发现我试图使用的类不存在。

原因: ClassNotFoundException: 小部件,WebImageView..。

为什么,当我在 Eclipse 中没有得到编译或链接器错误时,它在模拟器上会有这个问题?

这两个问题是反问句,因为我将在下面自己回答它们。这个论坛里的其他帖子都在讨论这个问题,但是我觉得我可以更明确地帮助下一个家伙。

200561 次浏览

确保您的第三方罐子在您的项目“ libs”文件夹,他们将被放在。当你打包你的应用程序时。如果 jar 中的某些内容不受支持,您可能会在设备上看到运行时错误,但是除此之外,我在这方面取得了巨大的成功。

首先,缺少前缀的问题。

如果在布局文件中使用来自第三方的内容,可能还需要使用其前缀,比如“ droidfu:”,它在下面的 XML 结构中的几个位置出现:

<com.github.droidfu.widgets.WebImageView android:id="@+id/webimage"
android:layout_width="75dip"
android:layout_height="75dip"
android:background="#CCC"
droidfu:autoLoad="true"
droidfu:imageUrl="http://www.android.com/images/opensourceprojec.gif"
droidfu:progressDrawable="..."
/>

这来自于 JAR,但是您还需要添加新的“ xmlns: droidfu”

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:droidfu="http://github.com/droidfu/schema"
...>

或者得到未绑定前缀错误。对我来说,从第三方库的页面复制和粘贴所有提供的示例失败了。

现在说说缺课的问题。

我是一名 Eclipse JavaEE 开发人员,多年来一直有在 Build Path 中通过“ User Library”机制添加第三方库的习惯。当然,至少有3种方法可以添加第三方库,在我看来,我使用的方法是最优雅的。

然而,对于 Android 来说,这是行不通的,因为它的 Dalvik“ JVM”不能处理一个普通的 Java 编译类,而必须将其转换为一种特殊的格式。当您按照我通常的方式添加库时,不会发生这种情况。

相反,按照(广泛可用的)说明导入第三方库,然后使用 Build Path 添加它(出于编译目的使 Eclipse 知道它)。下面是详细的步骤:

  1. 将库下载到主机 发展系统。
  2. 中创建一个新文件夹 Libs 你的 Eclipse/Android 项目。
  3. 右键单击 Libs并选择 导入-> 一般-> 档案系统, 然后下一步,在文件系统中浏览 找到图书馆的家长 目录(即: 下载)。
  4. 单击“确定”,然后单击 中的目录名(不是复选框) 左边的窗格,然后检查 相关的 JAR 将库放入您的项目中 (身体上)。
  5. 右键单击您的项目, 选择 Build Path-> ConfigureBuild 路径,然后单击“库”选项卡, 然后添加 JAR... ,导航到您的 Libs目录中的 new JAR 和 添加它(顺便说一句,这是将新的 JAR 转换为在 Android 上使用的时刻。)

注意

如果库已经包含在构建路径中,则可能不需要步骤5。只要先确保它的存在,然后再添加它。

你在这里的所作所为完成了两件事:

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

建立图书馆项目

库项目是一个标准的 Android 项目,因此您可以用与创建新应用程序项目相同的方式创建一个新项目。

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

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

在“软件包资源管理器”中,右键单击库项目并选择“属性”。 在“属性”窗口中,选择左侧的“ Android”属性组,并在右侧找到 Library 属性。 选择“ is Library”复选框并单击 Apply。 单击 OK 关闭“属性”窗口。 新项目现在被标记为库项目。您可以开始将源代码和资源移动到其中,如下面各节所述。

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

资源’/playteddy/res’不存在。

我得到了以上两个错误,最后我解决了它。

右键单击您的项目-> properties-> java build path-> googlead mobadsdk (选择并置于顶部) ,然后运行并解决问题。它解决了我的运行时错误。

将源代码放在工作区外的文件夹中。 右键单击项目资源管理器,并选择“ Import...”

将项目作为 Android 项目导入到您的工作区中。 尝试构建它,并确保将其标记为库项目。 还要确保它是用 GoogleAPI 支持构建的,否则你会得到编译错误。

然后,在项目资源管理器中右键单击您的主项目。 选择属性,然后在左侧选择 Android。 在下面的库部分,单击“添加”. 。

现在应该可以使用 mapview 气球库添加到您的项目中了。

在 eclipse 中构建 path,然后单击 order 和 export,然后检查 library/jar,然后单击 up 按钮将其移动到列表的顶部以首先编译它。

如果您使用的是 ADT 版本22,您需要在项目构建路径的 order & Export 选项卡中检查 android 依赖项和 android 私有库