AndroidRuntime(1109): java.lang.NoClassDefFoundError: sun.misc.BASE64Decoder
尝试使用依赖于BouncyCastle加密库的组件jar时,我遇到此错误。在Java Servlet应用程序中使用相同的组件jar而没有任何错误,所以我很困惑。我在我的Android应用程序中有相同的jar参考,我为Web应用程序执行了特定于Web的参考。
请帮忙!
修改
对于记录,jar位于构建路径和导出中。它现在是导出中的第一个项目,我仍然得到错误。
让我重申一下,这个SAME库在Java Serlvet应用程序中运行良好。
答案 0 :(得分:0)
您是否已将jar文件添加到Java Build Path中?如果已添加但仍无效,请转到“订购和导出”并检查文件标记并重建项目,看看有帮助。
答案 1 :(得分:0)
确保您的jar在Project properties>中导出。 Java build bath>订单和出口
答案 2 :(得分:0)
您遇到此错误的原因只有三个:
/libs
文件夹中。将jar添加到构建路径时会发生这种情况,但是较新版本的ADT需要它在/libs
中。把它放在那里并重新添加到构建路径。大多数情况下,会出现此类错误,因为较新版本的ADT要求所有外部jar都位于`/ libs文件夹中。您的同事可能与您的版本不同,因而错误。
答案 3 :(得分:0)
如果在运行时获得NoClassDefFoundError
,那么我怀疑你没有在运行时包含你的工作。您必须选中每个.jar的复选框,如下所示:
答案 4 :(得分:0)
我解决了这个问题 - 详情见SO张贴。