gpt4 book ai didi

android - Android 项目中带有外部 jar 的 java.lang.NoClassDefFoundError

转载 作者:行者123 更新时间:2023-11-30 03:34:26 25 4
gpt4 key购买 nike

我已经在网上搜索了两天了,感觉自己什么都试过了。请让我知道是否有任何代码 fragment 可能有助于找到解决方案。

我已经创建了一个带有标准登录 Activity 的 Android 应用程序。在 doInBackground() 方法中,我从另一个外部类调用静态方法。由于单击提交按钮后将调用此方法,因此错误发生在运行时。该类包含在我的文件中,并且没有编译错误。每当我点击/单击提交按钮时,我都会得到一个 java.lang.NoClassDefFoundError 引用一个类(在我的外部 jar 中),该类被使用并正确包含在我在 doInBackground() 方法中引用的外部文件中。

我所有的外部库都在“libs”文件夹中。我试过手动将它们添加到构建路径,并在“订购和导出”选项卡中选中它们旁边的框,而不是选中“Android 私有(private)库”条目旁边的复选框。我试过将“gen”目录放在“src”目录之上,这也没有改变任何东西。重新启动 Eclipse,重新导入整个项目,在构建路径中调整外部库的顺序,修复项目属性并一遍又一遍地清理项目,没有任何帮助。这个我查过了

http://javarevisited.blogspot.de/2011/06/noclassdeffounderror-exception-in.html

并尝试了所有解决方案,但没有一个对我有用。我之前在一个库中发现了类似的问题,我可以通过更改一些构建路径设置并重新启动 Eclipse 来解决它。但是,这对我不再适用了。我希望任何人都有其他解决方案或想法,我不知道哪里出了问题......

提前谢谢大家!

嘻嘻

编辑:

尽管创建了一个全新的项目并将我以前的文件添加到这个新项目中,但我在新项目中仍然遇到同样的问题。我想我弄清楚了这个错误的来源:当我添加我的外部库时,我仍然有从刚刚添加的 .jar 到其他 jar 的依赖项。添加这些之后,编译器说我需要 java.rmi.Remote 类,它位于 Java 的 JRE 系统库 (rt.jar) 中。将整个 jre 库添加到我的项目中使编译器错误消失,但是运行时错误仍然存​​在。经过更多研究后,我发现我的外部库可能与 android 运行时环境不兼容,这意味着 jar 的 .class 文件没有等效的 .dex 表示,而 Android 设备上的 Dalvik 虚拟机则需要它.对于许多 java jar,尤其是那些设计用于 android 平台的 jar,不会出现这些问题。

如果我错了请纠正我,但这个解释对我来说似乎很合理。太糟糕了,因为这是当前以编程方式访问我们的数据库的唯一方法。

最佳答案

确保您已更新到最新版本的 ADT Eclipse 插件和 SDK 工具,并确保在您的项目属性中选中“Android Dependencies”。

enter image description here

关于android - Android 项目中带有外部 jar 的 java.lang.NoClassDefFoundError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16857887/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com