首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >安卓外部库项目上的NoClassDefFoundError

安卓外部库项目上的NoClassDefFoundError
EN

Stack Overflow用户
提问于 2011-11-03 20:18:30
回答 7查看 21.3K关注 0票数 18

我使用eclipse进行Google Android开发。

我已经创建了一个库项目(Android-settings中的[x] Is Library),其中包含一个外部jar文件(引用的库)。此库项目在另一个项目(将使用库项目的实际项目)中引用。这是通过在Android-settings下添加项目来完成的。

源代码进行了编译,但是如果我想在设备上执行它,我会得到一个类的NoClassDefFoundError,这个类在jar文件中是,该文件包含在库项目中。

jar编辑:添加到导出条目的jar文件列表(来自库项目的Order and Export-Tab上的[x] my.jar)

有没有一种干净利落的方法让它正常工作?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2011-11-04 04:26:59

官方API here中已经有明确的说明。

库项目可以包含JAR库

您可以开发本身包含JAR库的库项目,但是需要手动编辑依赖应用程序项目的生成路径并将路径添加到JAR文件

jar库必须手动添加到依赖的应用程序项目的构建路径中,而不仅仅是库项目构建路径本身。

来自SDK r17的更新:

现在已由ADT自动处理,请查看ADT 17.0.0 release here的新功能

添加了自动设置JAR依赖项的功能。/libs文件夹中的所有.jar文件都会添加到构建配置中(类似于Ant构建系统的工作方式)。此外,库项目所需的.jar文件也会自动添加到依赖于这些库项目的项目中。(more info)

票数 15
EN

Stack Overflow用户

发布于 2013-01-02 09:16:39

对于那些遵循这些步骤(甚至检查了"Order and Export“中的项目)并且仍然在API17中拥有java.lang.ClassNotFoundException的人来说,最后一步是检查您的编译器是否不能在Java1.7上运行。如果是1.7,那么对于您的所有项目,您应该将其更改为1.6。之后,它将要求重新构建所有项目,并在我的手机上成功运行:)

要更改eclipse中的java编译版本,请访问以下位置:项目属性> Java编译器>编译器遵从性级别: 1.6

票数 7
EN

Stack Overflow用户

发布于 2012-10-09 17:08:45

转到project properties -> build path-> libraies

如果您看到jar文件如下所示

代码语言:javascript
复制
snmp4j.jar - e:\software\jars

这可能是你的问题

在项目中添加libs文件夹,并复制该文件夹中的jar文件。右键单击jar文件并转到build path -> add to build path。然后你就可以看到你的jar了

代码语言:javascript
复制
snmp4j.jar  - project_name/libs 

这对我很有效。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7994715

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档