eclipse中 NoclassdefFoundError錯誤的分析

 在我學習側邊欄菜單欄學習的時候。接觸到library的引用。再運用過程當中一直出現了一個錯誤,那就是  NoclassdefFoundError。學習

發現這個錯誤的時候個人第一反應就是,難道我沒有在清單文件中註冊麼,我檢查了下, 結果不是的。ui

我上網查了,有人說是v4包衝突致使的,我就反覆的去不斷的Remove v4包,而後添加v4包。始終沒有解決。ci

後來我發現我Remove的v4包的地方搞錯了。應該是Remove lib目錄下的v4包。才能讓錯誤消失。。最後我解決了問題,io

 

而後咱們來討論爲何會產生這樣的後果。最終仍是library中的V4包與項目中的V4包是不匹配的。gooole發佈了不少版本的V4包。因此class

不一樣的項目中V4包不一樣時很正常的。檢察V4包是否相同的辦法是,查找這個文件的MD5值,若是同樣的證實這兩個文件是同樣的。引用

若是再項目中出現V4包不匹配的時候也須要檢查這個文件。gc

 

有時候咱們出現錯誤可是再logcat中沒有提示,這時候咱們能夠在Window目錄中promble,這裏會顯示全部的錯誤。方法

  下面咱們來討論這個lib目錄下的V4包和Android Dependencies目錄下V4包的區別項目

在ADT17以前,若是要在Android項目中引入外部JAR包,這種方式是正確的,只需在項目屬性的Java Build Path中選擇Add External JARs,而後選擇相應JAR包便可。文件

可是,在升級到ADT17以後,Android項目下多出了一個Android Dependencies目錄,以前經過Add External JARs加入的jar包依然出如今Referenced Libraries目錄之下,可是彷佛已經被棄用,雖然沒有提示任何錯誤,可是在運行時會拋出ClassNotFoundException。

解決方法是將JAR包加入到Android Dependencies下,其中一個默認引入目錄是libs,所以只要將JAR包複製該目錄下。

相關文章
相關標籤/搜索