NoClassDefFoundError:sun.misc.BASE64Decoder

时间:2012-11-21 15:35:51

标签: android bouncycastle noclassdeffounderror

AndroidRuntime(1109): java.lang.NoClassDefFoundError: sun.misc.BASE64Decoder 

尝试使用依赖于BouncyCastle加密库的组件jar时,我遇到此错误。在Java Servlet应用程序中使用相同的组件jar而没有任何错误,所以我很困惑。我在我的Android应用程序中有相同的jar参考,我为Web应用程序执行了特定于Web的参考。

请帮忙!

修改

对于记录,jar位于构建路径和导出中。它现在是导出中的第一个项目,我仍然得到错误。

enter image description here

让我重申一下,这个SAME库在Java Serlvet应用程序中运行良好。

5 个答案:

答案 0 :(得分:0)

您是否已将jar文件添加到Java Build Path中?如果已添加但仍无效,请转到“订购和导出”并检查文件标记并重建项目,看看有帮助。

答案 1 :(得分:0)

确保您的jar在Project properties>中导出。 Java build bath>订单和出口

答案 2 :(得分:0)

您遇到此错误的原因只有三个:

  1. 这堂课真的不存在。如果您使用的是官方示例中的代码并获得此代码,请确保您拥有该库的最新版本
  2. 您尚未将jar添加到构建路径中。要解决此问题,请右键单击Eclipse中的jar,然后执行BuildPath►Addto Build Path。
  3. 您的jar不在/libs文件夹中。将jar添加到构建路径时会发生这种情况,但是较新版本的ADT需要它在/libs中。把它放在那里并重新添加到构建路径。
  4. 大多数情况下,会出现此类错误,因为较新版本的ADT要求所有外部jar都位于`/ libs文件夹中。您的同事可能与您的版本不同,因而错误。

答案 3 :(得分:0)

如果在运行时获得NoClassDefFoundError,那么我怀疑你没有在运行时包含你的工作。您必须选中每个.jar的复选框,如下所示:

enter image description here

答案 4 :(得分:0)

我解决了这个问题 - 详情见SO张贴。