[英]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.jar
和google-play-services.jar
。 清理項目並重新運行,classNotfound異常消失。
轉到訂單並從項目屬性導出,並確保您在導出中包含所需的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.