我看到一大堆活动子类在使用意图打开活动时导致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项目配置问题。
答案 0 :(得分:1)
这可能是库依赖项中缺少的JAR,或者工件未正确打包以进行部署。您应该能够从IntelliJ项目设置中设置两者。
答案 1 :(得分:1)
解决方案相当切实。我正在使用GMaps API .jar构建应用程序,但未能将其设置为外部库。使用正确设置为外部库的GMaps API .jar重建项目解决了这个问题。
我不知道为什么一个库是否在APK中应该导致与完全不相关的类的异常,但我们去了。