0

我收到以下错误:

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

这是出错的那一行:

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

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

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

我究竟做错了什么?

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

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 )
4

3 回答 3

0

好吧,您的 jar 文件不包含可绘制对象。

包括图书馆项目

项目首选项 >> Android 选项卡

并在底部单击添加按钮并选择您的库项目。

希望这可以帮助。

于 2012-10-08T12:00:19.827 回答
0

从此链接尝试:

android中的ClassDefNotFound错误

库问题会发生此错误。

于 2012-10-08T12:00:41.603 回答
-1
java.lang.NoClassDefFoundError: com.test.library.R$drawable

当 Java 虚拟机或 ClassLoader 实例尝试加载类的定义(作为正常方法调用的一部分或作为使用 new 表达式创建新实例的一部分)并且没有类的定义时,会发生此异常成立。
这意味着您的 jar 的类路径设置不正确,因此在运行时找不到您的类。

于 2012-10-08T11:59:09.233 回答