Android的java.lang.NoClassDefFoundError

我在eclipse IDE中有一个Android项目正在工作。 经过一些导入和testing后,我得到错误: java.lang.NoClassDefFoundError

在我的项目中,我有两个包:一个是主包,一个是第二个包。

当我尝试从主活动类中的第二个包类实例化对象时,出现此错误。

这里是logcat:

 FATAL EXCEPTION: main java.lang.NoClassDefFoundError: com.neurospeech.wsclient.MDPIforEditorialBoard at milos.mdpi.Journals.<init>(Journals.java:41) at java.lang.Class.newInstanceImpl(Native Method) at java.lang.Class.newInstance(Class.java:1409) at android.app.Instrumentation.newActivity(Instrumentation.java:1040) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1777) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1893) at android.app.ActivityThread.access$1500(ActivityThread.java:135) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1054) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:150) at android.app.ActivityThread.main(ActivityThread.java:4389) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java:507) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:849) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:607) at dalvik.system.NativeStart.main(Native Method) 

find解决我的问题的方法:

解决scheme可以在这里find: http : //android.foxykeep.com/dev/how-to-fix-the-classdefnotfounderror-with-adt-17

你最近更新了你的eclipse android插件(adt r17)吗? 那么下面的链接可能会有帮助:

如何用adt-17修复classdefnotfounderror

更新:问题出现一年了。 我会保持联系,因为即使在2013年,它似乎帮助一些人解决问题。 但请小心你在做什么,看下面的Erics评论。 目前的ADT版本是22,我推荐使用最新的版本。

按照这个顺序编辑构buildpath,这对我有用。

确保/gen/src之前

在这里输入图像描述

我通过添加主项目的私有库来解决这个问题,

 Project Properties->Java Build Path->Order And Export 

并确保Android专用库被检查。

截图:

在这里输入图像描述

确保检查google-play-services_lib.jargoogle-play-services.jar 。 清理项目并重新运行,classNotfoundexception消失。

Imaage

去项目属性的订单和出口,并确保你在出口包括所需的jar子,这对我来说

我已经遇到了这个问题几次打开包括其他Android库的旧项目。 对我有用的是:

将Android移动到“ 订购和导出”选项卡的顶部并取消select它。

是的,这真的是有所作为。 也许是时候让我放弃Android Studio的ADT了!

你也可以得到这个错误,如果你试图包含一个Jdk 1.7而不是1.6编译的jar。

就我而言,我想通过尝试用SDK提供的Ant脚本来打包应用程序,而不是ADT,然后我注意到了这些ADT没有显示给我的错误:

  [dex] Pre-Dexing libjingle_peerconnection.jar -> libjingle_peerconnection-2f82c9bf868a6c58eaf2c3b2fe6a09f3.jar [dx] [dx] trouble processing: [dx] bad class file magic (cafebabe) or version (0033.0000) [dx] ...while parsing org/webrtc/StatsReport$Value.class [dx] ...while processing org/webrtc/StatsReport$Value.class 

我用jdk 1.6重新编译了我的jar,错误被修复了。

尝试去Project -> Properties -> Java Build Path -> Order & Export确认Android专用库检查您的项目和您在应用程序中使用的所有其他库项目。

在检查Java构buildpath之后,然后在清单文件中添加代码行。

 <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />