我有一个 jar 库。我使用 Java 类文件编辑器 (CE) 修改了这个库中的一个类。在这堂课中,我将一个变量从 更改private static final
为public static
。之后,我使用 WinRAR 将新修改的类文件放入同一个 jar 库中。
但是,在 Android 上运行该应用程序会生成一个NoClassDefFoundError
.
我该如何解决NoClassDefFoundError
?
请帮忙。
一种可能是 WinRAR 创建了一个不再兼容 JAR 的文件。我建议不要使用 WinRAR。使用jar
命令将该 JAR 文件解压缩到目录树中,进行更改,然后使用jar
.
另一种可能是您的更改触发了代码验证问题或类似问题。向我们展示异常的完整错误消息和堆栈跟踪?
我不确定这是否相关,或者是否完全有可能更改类文件的内容会影响这一点,但也许你应该尝试在 Eclipse 中执行 Project -> Clean。另外,如果您还没有,请尝试将 jar 文件包含在 /libs 文件夹中。
此外,请确认您的 Jar 文件在重新创建时已正确压缩。
我认为问题是由 RSA 加密引起的。