2012-11-24 54 views
6

我在ADT v21.0.0中構建了一個Android應用程序。這個應用程序需要使用我編譯成jar的protobuf庫。Android的Java Protobuf - NoClassDefFoundError

通過將這個jar以及protobuf-java-2.4.1.jar放入我的libs /文件夾中,Eclipse可以在構建時識別它,但是無論何時我嘗試在Android模擬器中運行該應用程序,都會得到一個NoClassDefFoundError嘗試實例化protobuf編譯器生成的自動生成的自定義類之一時發生異常。

我見過很多關於命名libs /文件夾的提示(顯然以前的ADT更新通過要求/ lib文件夾爲/ libs而破壞了這一點),並且顯式地從「 Java構建路徑「設置窗口(並檢查」訂單和導出「窗格中的罐子)。

這些都沒有幫助,但是,我想知道是否有更基礎的東西,防止我的protobuf類在運行時被識別。

注意:如果我在Eclipse中創建一個標準的Java應用程序,我可以使用我的proto類就好了。這只是運行Android應用程序時的一個問題。

+1

請更新您的問題,包括未找到類的全名。 –

+0

這是從我的protobuf消息規範自動生成的自定義類,所以我不確定它是否會有所幫助。不過,我編輯這篇文章直接說明這一點。謝謝! – ricklane

+0

請在您的文章中添加打印堆棧跟蹤。 – Visruth

回答

0

看來你的項目導入一些庫中的自動生成JAR depends..and就是沒有設備或模擬器..