2 yiranwujixian yiranwujixian 于 2012.09.20 10:38 提问

Eclipse和Android错误-NoClassDefFoundError

我有一个android应用程序一直运行的很好,直到我添加第二个外部库来创建路径的时候,它就出现了问题。自从添加了scoreninja jar,当我试图运行这个程序的时候我就得到了NoClassDefFoundError
这是报错信息

09-19 21:45:26.154: ERROR/AndroidRuntime(3654): java.lang.NoClassDefFoundError: com.scoreninja.adapter.ScoreNinjaAdapter

像所有通过android工具生成的脚本一样,我不知道除了删除和重新创建或者重启eclipse(我已经试过三次了)我还能做什么。有人知道我能怎样改正这个么?

4个回答

yizhenbeifeng
yizhenbeifeng   2012.09.20 11:01
已采纳

更新完ADT之后我也遇到了这个问题。
我把我所有的JAR文件存储在一个叫做“lib”的文件夹中,然后添加jars来创建正常的eclipse路径。一直到我更新,这个运行的都挺好。
在我更新之后,我很清楚的知道我得到了一个被包含在jar中的NoClassDefFoundError类(检查ReferencedLibraries类)。
解决方法就是把我所有的jars都从创建路径中移除,然后将我的“fib”文件夹重新命名为“libs”。这是一个小的习惯,而且似乎是新的ADT发现和在an.apk文件中包含库的方法。一旦我这样做了,所有的都好了。

franzhong
franzhong   2012.09.21 17:16

你库没有正确载入
把java库放入libs文件夹后,右健导入为库
有的人这一步就够了
为了保险,这样做
1,右键工程, Build path, java build path,
2,选择libraries在右边的按钮中点击“Add Library”
3,选择“User library”,点击“下一步”
4,点击“User librarys”按钮在出现的界面中点击“New..”按钮
在弹出的界面中随便起一个名字,点击“确定”
5,点击“Add jars”按钮选择第三方jar包

niangzhi
niangzhi   2012.09.20 11:19

通过向你创建的路径中添加额外的jar,仅仅是向你的包中添加jar,但是在运行的时候仍然是不能用的。
为了在运行的时候jar可以使用,你需要:

  • 把jar放在你assets的文件夹下
  • 在你创建的路径中,包含这个jar的副本
  • 在同样的弹出框中打开导出选项卡
  • 根据最新添加的jar,检查这个包
Sueyexin
Sueyexin   2012.09.20 11:44

我在MapActivity中碰到了这个问题。在Eclipse中,在调试程序中创建的时候得到了NoClassDefFound。
忘记将库添加到manifest中了,在... 要素中。

<uses-library android:name="com.google.android.maps" />"
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!