这是一个关于在Eclipse中向Android项目添加第三方库(JAR)的两部分问题。
问题的第一部分是,当我尝试将第三方JAR(库)添加到我的Android项目时,我首先遇到了问题
解析XML时出错:未绑定前缀
因为我正在尝试使用该JAR中的一个类(并且需要以某种方式定义的前缀)。发生了什么事?
其次,(在解决之后 - 下面给出了答案),我的应用程序无法在Android上运行,我通过调试器(LogCat)发现我尝试使用的类不存在。< / p>
引起: 抛出java.lang.ClassNotFoundException: com.github.droidfu.widgets.WebImageView ...
为什么,当我在Eclipse中没有编译或链接器错误时,它是否在模拟器上出现此问题?
这两个问题是修辞性的,我将在下面自己回答。这个论坛中的其他帖子可以解决问题,其他地方也有讨论,但我觉得我可以更明确地帮助下一个人来。
答案 0 :(得分:316)
现在为了缺少课程问题。
我是Eclipse Java EE开发人员,多年来一直习惯通过Build Path中的“用户库”机制添加第三方库。当然,至少有3种方法可以添加第三方库,我使用的是最优雅的,我的意见不多。
然而,对于Android,其Dalvik“JVM”无法处理普通的Java编译类,但必须将其转换为特殊格式,这不起作用。当你以我不会这样做的方式添加库时,就不会发生这种情况。
相反,请遵循(广泛使用的)导入第三方库的说明,然后使用Build Path添加它(这使Eclipse知道它用于编译目的)。这是一步一步:
请注意
如果您的构建路径中已包含lib,则可能不需要步骤5。在添加之前先确保它的存在。
你在这里所做的完成了两件事:
答案 1 :(得分:20)
确保您的第三方罐子在您的项目“libs”文件夹中,当您打包应用程序时,它们将被放入.apk中。如果不支持jar中的某些内容,您可能会在设备上看到运行时错误,但除此之外我已经取得了很大的成功。
答案 2 :(得分:5)
设置图书馆计划
库项目是标准的Android项目,因此您可以像创建新应用程序项目一样创建新项目。
创建库项目时,可以根据需要选择任何应用程序名称,包和设置其他字段,如图1所示。
接下来,设置项目的属性以指示它是一个库项目:
在Package Explorer中,右键单击库项目,然后选择Properties。 在“属性”窗口中,选择左侧的“Android”属性组,然后在右侧找到“库”属性。 选中“is Library”复选框,然后单击“应用”。 单击“确定”关闭“属性”窗口。 新项目现在标记为图书馆项目。您可以开始将源代码和资源移入其中,如以下部分所述。
答案 3 :(得分:4)
如果您使用的是ADT 22版,则需要检查项目构建路径中的顺序和导出选项卡中的android依赖项和android私有库
答案 4 :(得分:2)
首先,缺少前缀的问题。
如果您在布局文件中使用来自第三方的内容,您可能还需要使用其前缀,例如“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"
...>
或者您收到未绑定的前缀错误。对我来说,这是未能从第三方库的页面复制和粘贴所有提供的示例。
答案 5 :(得分:1)
解析XML时出错:未绑定前缀
资源'/ playteddy / res'不存在。
我得到了上述两个错误,最后我解决了。
右键单击您的项目 - &gt;属性 - &gt; java构建路径 - &gt; googleadmobadsdk(选择并将其置于顶部),然后运行并解决问题。它解决了我的运行时错误。
答案 6 :(得分:0)
将源放在yourt工作区外的文件夹中。 右键单击项目浏览器,然后选择“导入...”
将工作区中的项目导入为Android项目。 尝试构建它,并确保它被标记为库项目。 还要确保它是使用Google API支持构建的,如果不是,您将收到编译错误。
然后,右键单击项目资源管理器中的主项目。 选择属性,然后选择左侧的Android。 在下面的库部分中,单击“添加”..
现在可以使用mapview-balloons库添加到项目中。
答案 7 :(得分:0)
转到eclipse中的构建路径,然后单击order并导出,然后检查库/ jar,然后单击向上按钮将其移动到列表顶部以首先编译它。