我在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應用程序時的一個問題。
請更新您的問題,包括未找到類的全名。 –
這是從我的protobuf消息規範自動生成的自定義類,所以我不確定它是否會有所幫助。不過,我編輯這篇文章直接說明這一點。謝謝! – ricklane
請在您的文章中添加打印堆棧跟蹤。 – Visruth