繁体   English   中英

Android java.lang.NoClassDefFoundError

[英]Android java.lang.NoClassDefFoundError

我在eclipse IDE中有一个Android项目正在运行。 经过一些导入和测试后,我得到错误: 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)

找到我的问题的解决方案:

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

你最近更新了你的eclipse安卓插件(adt r17)吗? 然后以下链接可能会有所帮助:

如何使用adt-17修复classdefnotfounderror

更新:问题出现一年过去了。 我会保留链接,因为即使在2013年,它似乎也可以帮助一些人解决问题。 但是请注意你正在做的事情,请参阅下面的Erics评论。 目前的ADT版本是22,我建议使用最新版本。

按此顺序编辑构建路径,这对我有用。

确保/gen/src之前

在此输入图像描述

我通过在这里添加要导出的主项目的私有库来解决问题:

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

并确保选中Android私有库。

截图:

在此输入图像描述

确保选中google-play-services_lib.jargoogle-play-services.jar 清理项目并重新运行,classNotfound异常消失。

Imaage

转到订单并从项目属性导出,并确保您在导出中包含所需的jar,这对我来说

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

将Android移至Order and Export选项卡中的顶部并取消选择它。

是的,这确实有所不同。 也许是时候让我放弃ADT for Android Studio了!

如果您尝试包含使用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构建路径后,然后在清单文件中添加代码行。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM