簡體   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