2013-01-13 47 views
0

我有一個使用android-support-v4.jar的應用程序。這個jar在eclipse中的構建路徑上。如果我右鍵單擊包並配置構建路徑,它作爲庫存在那裏。在源代碼中我可以用它和Eclipse知道它是什麼,但如果我運行應用程序,我得到這個運行時錯誤android-support-v4.jar在構建路徑上,但得到noClassDefFoundError

01-13 15:39:51.838: E/AndroidRuntime(12398): FATAL EXCEPTION: main 
01-13 15:39:51.838: E/AndroidRuntime(12398): java.lang.NoClassDefFoundError: android.support.v4.content.LocalBroadcastManager 
01-13 15:39:51.838: E/AndroidRuntime(12398): at com.carefreegroup.NfcscannerActivity.processTagWithGPS(NfcscannerActivity.java:1568) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at com.carefreegroup.NfcscannerActivity.onActivityResult(NfcscannerActivity.java:1742) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.app.Activity.dispatchActivityResult(Activity.java:4747) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.app.ActivityThread.deliverResults(ActivityThread.java:3394) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3448) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.app.ActivityThread.access$1100(ActivityThread.java:139) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1292) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.os.Handler.dispatchMessage(Handler.java:99) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.os.Looper.loop(Looper.java:156) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at android.app.ActivityThread.main(ActivityThread.java:4987) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at java.lang.reflect.Method.invokeNative(Native Method) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at java.lang.reflect.Method.invoke(Method.java:511) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
01-13 15:39:51.838: E/AndroidRuntime(12398): at dalvik.system.NativeStart.main(Native Method) 

有任何人任何想法,爲什麼?提前致謝。

+0

嘗試清理您的項目。或者將支持jar移動到'libs'文件夾中。 – Doomsknight

回答

4

這個jar在eclipse中的構建路徑上。

如果你是通過手動擺弄構建路徑來做到這一點的,那就是你的困難之源。將JAR放入項目的libs/中,撤消構建路徑更改。在libs/中的所有內容都會自動添加到您的編譯構建路徑已打包到APK中以便分發到設備。

+0

我沒有意識到有關libs文件夾。它現在工作正常,感謝您的幫助。馬特 – turtleboy

4

將jar文件放在libs /文件夾中,以便它也在您的項目工作區中。這就是我一直沒有問題的方式。

將.jar拖到libs文件夾中,然後在構建路徑屬性中指向它。

2

這個問題已經讓我陷入了將近六個月的困境,沒有任何解決方案可以幫助我,但是今天我已經成功地找到了正確的解決方案。

當您選擇的項目目標版本大於或等於Android 4.0時,Android SDK會在項目「libs」文件夾中包含「android-support-v4.jar」文件。該jar包含所有與類相關的方法Android 4.0或更高版本

您可以看到您的問題,android正在嘗試查找「android-support-v4.jar」中的類定義,這意味着您尚未將構建路徑配置爲「android-support -v4.jar「文件。請執行以下步驟:

1.打開項目屬性
2.從左側菜單中選擇」Java Build Path「
3.Select 「庫」 選項卡
4.Press 「添加外部JAR」
5.MOST重要步驟: -
選擇 「Android的支持-V4」 當前項目的位置 「庫」 文件夾中的jar文件(路徑應該只是你的項目而不是android sdk)。
6.選擇「訂單和導出」選項卡,然後選擇「android-support-v4.jar」複選框

就是這樣,你做完了!

0
  1. 放入庫的Android的支持 - v4.jar /項目的
  2. 放入庫的可佩戴預覽support.jar /你的項目

乾淨生成的,它的工作爲了我。

相關問題