从NoClassDefFoundError的javadoc:
如果Java虚拟机或ClassLoader实例尝试加载类的定义(作为常规方法调用的一部分或使用新表达式创建新实例的一部分)而抛出,则找不到该类的定义。
Java使用动态链接,这意味着在首次使用符号(类名,…)时就进行了链接。正如Mohit已经指出的那样,您似乎缺少了JXMPP库,它是Smack的(传递)依赖项。我假设您确实只是通过将Smack放入
libs/文件夹中而将其添加到项目中。不建议使用这种方法,因为您很容易错过Smack的传统依赖,就像您遇到的那样。而是使用能够解决诸如Maven或Gradle之类的依赖关系的构建系统。也可以看看:
- Smack 4.1自述文件和升级指南



