在IntelliJ IDE中的Android应用程序中出现NoClassDefFoundError错误

3
我看到许多与活动子类相关的活动,在使用意图打开活动时会导致NoClassDefFoundError异常。应用程序编译时没有任何错误,但在执行过程中我看到这些NoClassDefFoundError异常。我的理解是编译器工作正常,但链接和APK构建过程未包含所有类,因此构建正常,但执行失败。
那些能够工作和不能工作的类位于同一个源文件夹中,因此我无法立即看出它们为什么失败。在清单中正确引用了所有类。
我错过了什么?
代码:
startActivity(new Intent(Dashboard.this, SearchResultFavourites.class));

清单:

<activity android:name=".activity.SearchResultFavourites" android:launchMode="singleTask" />

异常:

Caused by: java.lang.NoClassDefFoundError: myapp.activity.SearchResultFavourites at
myapp.activity.Dashboard.dashBoardBtnClick(Dashboard.java:72)

我相信这是一个IntelliJ项目配置问题。

你能否发布错误信息、AndroidManifest文件以及出现问题的代码示例? - Haphazard
异常的详细信息、代码和清单已添加。 - Ollie C
2个回答

1

可能是库依赖中缺少 JAR 包,或者构件没有正确打包以进行部署。您应该能够从 IntelliJ 项目设置中同时设置这两个。


找不到的类是我自己项目中的活动,所以它不是我拉入项目的外部.jar文件。我相当确定这是一个项目配置问题,但我很难看出具体哪里出了问题。代码已经被其他人编译并且可以运行,因此不太可能是代码本身的问题,而更可能是我的构建配置有误。 - Ollie C

1
解决方案有些离题。我正在使用GMaps API .jar构建应用程序,但未将其设置为外部库。重新使用正确设置为外部库的GMaps API .jar构建项目解决了问题。
我不知道为什么APK中是否存在库会导致与完全不相关的类的异常,但是我们已经解决了这个问题。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接