android中的外部项目引用

我有一个Android应用程序,利用另一个项目作为项目的参考。 我进入了应用程序选项,构buildpath,然后在项目引用中select项目。

一切都build立和部署良好,但是当我尝试运行该应用程序并在该项目中实例化一个类,我得到一个java.lang.NoClassDefFoundError错误。

我不是Java项目专家,所以我认为我已经竖起了一些简单的东西。 有任何想法吗?

Solutions Collecting From Web of "android中的外部项目引用"

在Eclipse上,进入“Android项目” – >属性 – > Java Build Path – > Order and Expert,然后select你想要导入的java项目,并把它移到所有条目之上。

这个问题有一些解决方法。 你可以检查你的图书馆作为Android库:右键单击项目/属性/ Android选项卡 – “是库”。

然后在你的主项目中:右键单击项目/属性/ Android选项卡 – >添加(并添加你的库项目)。

但是,您的库必须首先创build为Eclipse Android项目(以便在项目属性中可以使用“Android”部分)。

我已经做到了,我没有NoClassDefFoundError了。 这个解决scheme仍然适用于早期开发。 如果你的库是稳定的,你应该制作一个jar并将其包含在你的主项目(并删除对Android库的引用)。

我有类似的问题。 我有一个旧的项目,我用作一些math和3Dfunction的命名空间 – 我想分享这与Android和我的其他Java代码之间。 麻烦的是,这个该死的东西一旦从我的图书馆中发现了PODtypes,就会崩溃。 我的外部项目不会生成一个jar文件; 它只被用作一个名字空间。 我认为有一些运行时连接的问题,这导致了这一点,但Android,Eclipse和Java集体给我一个没有任何帮助的总和。

我有同样的问题。 很less有研究把我引向图书馆项目 ,在这篇文章中也提到过。 但请记住这一点:

“你也可以指定一个Android项目作为一个库项目,这个项目允许它与其他依赖它的项目共享,一旦一个Android项目被指定为一个库项目,它就不能被安装到一个设备上。

你可以find更多的信息:

http://developer.android.com/tools/projects/projects-eclipse.html

并且

https://groups.google.com/forum/?fromgroups#!topic/android-developers/C0pddRNGZVs

我最近遇到了一个非常相似,可能是同样的问题。 Android不喜欢引用项目,并会抛出这些reflectionexception,如果你尝试让你的Android项目引用另一个项目。

它也不喜欢在构buildpath上有jar,你需要做的是将你想要包含的项目导出到你的android项目中,并把它们放在/ libs文件夹中。 这个文件夹通常是在创build项目的时候创build的,如果不是自己创build的话,它就在你的项目的根目录下。 如果他们在那里,Android会自动提取它们。

另外非常重要的是,如果您的外部项目还依赖于其他项目,则还需要导出这些其他项目,并将这些jar放置在android项目的/ libs文件夹中。

这是2012年7月22日发布的最新版android。 它可能不适用,如果你使用的是旧版本的android。

您可能需要将父项目的源项目的编译源代码包含在JAR中。 Android将需要有类文件,所以它可以重新编译成Dalvik字节码,然后使它们在类path中可用。

这个video可能会帮助你,从这个问题 。

如果您的外部项目依赖于其类path中的其他jar,请确保将其导出并将其推送到Eclipse中的导出列表的顶部。 我曾经在一个项目类中抛出同样的NoClassDef错误,但真正的问题是它依赖的jar包的导出顺序。 解决这个问题后工作正常。

上下文:开发一个与networking上的多个Android设备连接的JSP网站。 需要共同的课程。

采取的步骤:

对于包含您的公共类的java项目:

1)(什么也不做)

对于您的Android应用程序项目:

1)项目属性 – > Java构buildpath – >项目选项卡 – >添加…

2)项目属性 – >项目参考 – >相应地设置checkbox

3)[正如马修上面所说(这正是我所需要的)]“Android项目” – >属性 – > Java构buildpath – >订单和专家,然后select您想要导入的Java项目,并将其移动到顶部的所有条目。

对于您的JSP网站项目:

1)项目属性 – > Java构buildpath – >项目选项卡 – >添加…

2)项目属性 – >项目参考 – >相应地设置checkbox