我有一个 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 加密引起的。