java.lang.NoClassDefFoundError错误

时间:2012-10-08 11:51:01

标签: java android noclassdeffounderror

我收到以下错误:

java.lang.NoClassDefFoundError: com.test.library.R$drawable

这是出错的地方:

int icon = com.test.library.R.drawable.notification_icon;

我要做的是以下内容。我在GCM推送通知系统周围编写了自己的库(这样我就可以在多个应用程序中使用它,而无需编写相同的代码。我把它放在库中,因为除了GCM之外,它还需要做一些其他事情。)

无论如何,我创建了一个库的.jar文件,并将其导入我的测试应用程序,但它给了我这个错误。我试过在StackOverflow上给出解决方案,但它们似乎不起作用。此外,我真的希望能够将库放入.jar文件并导入它(长篇大论,所以请接受我需要它以这种方式工作。谢谢!)。

我做错了什么?

编辑:
我在这里发现了问题。我忘了将R.java文件包含在我库的.jar文件中。除了它现在给出另一个错误:

android.app.RemoteServiceException: Bad notification posted from package
com.test.app: Coulding create icon:
StatusBarIcon(pkg=com.test.app
id=0x7f020002 level=0 visible=true num=0 )

3 个答案:

答案 0 :(得分:0)

你的jar文件不包括drawables。

中包含图书馆项目

项目偏好>> Android标签

在底部点击添加按钮,然后选择您的图书馆项目。

希望这有帮助。

答案 1 :(得分:0)

试试这个链接:

ClassDefNotFound error in android

库错误会发生此错误。

答案 2 :(得分:-1)

java.lang.NoClassDefFoundError: com.test.library.R$drawable

当Java虚拟机或ClassLoader实例尝试加载类的定义时(作为普通方法调用的一部分或作为使用新表达式创建新实例的一部分)并且没有定义可以找到课程。
这意味着你的jar的类路径没有正确设置,因此它不能在运行时找到你的类。