2011-09-28 31 views
0

我在Eclipse中有2个项目。一个是图书馆项目(基础项目),另一个是将作为该应用的免费版本发布的项目。免费项目只有1项活动:LaunchActivity。其他一切都在图书馆项目中。从另一个项目访问库项目中定义的类时出现异常

我尝试调试免费项目,第一次尝试引用库项目中定义的类时,我得到java.lang.NoClassDefFoundError。有一次,我甚至无法在免费项目中使用库类,直到我进入免费项目时,右键单击Properties> Java Build Path> Projects选项卡,并包含了该库项目(尽管我认为这将被处理通过在Properties> Android中添加库项目作为参考并添加参考)。我甚至尝试了“属性”>“项目引用”,并在此处添加了库项目作为参考,但没有成功。

任何想法?

很多很多的感谢, 肖恩

+0

这是非常简单的重现:创建一个Android项目,使之成为库(属性>安卓> IsLibrary选中) 。创建另一个Android项目,使其成为lib项目的引用(Properties> Android> Library> Add)。添加一个类到其中有一些静态成员的lib项目。尝试在其他项目中访问此成员。繁荣! NoClassDefFoundError错误。这是一件很平常的事情,我做错了什么?!?! –

+0

好吧,我正在慢慢地转向其他的东西。希望如果这能拯救任何人我经历的噩梦。基本上我所做的是重新安装最新的android sdk(由于adb.exe被移动而带来了整个其他pbs列表),并且一旦我重新打开eclipse,我加载了2个示例项目以完全遵循它们所做的事情(tictactoelib和主要)。从那以后,我注意到一旦lib项目被声明为一个库并被另一个prj ref'd,我在项目资源管理器中注意到另一个prj(libproject_src [Android Library])中的一个新条目。因为它运作良好 –

回答

0

你必须定义库项目的AndroidManifest.xml中定义为主营项目的AndroidManifest.xml也是你的活动。

而且,包括库项目通过属性 - > Android->添加 - 参考>应用