使用Library jar时的Android NoClassDefFoundError

时间:2015-05-14 10:06:53

标签: java android eclipse jar smack

我刚刚写了一个代码片段,用于在Android上测试smack。我在eclipse中使用 smack 4.1.1

这是我的代码:

XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder()
                  .setUsernameAndPassword("admin", "admin")
                  .setServiceName("192.168.0.200")
                  .setHost("192.168.0.200")
                  .setPort(5222)
                  .build();

        AbstractXMPPConnection conn2 = new XMPPTCPConnection(config);
        try {
            conn2.connect();
        } catch (SmackException | IOException | XMPPException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

我在构建路径中导入了以下jar:

  • 咂嘴-机器人-4.1.1.jar
  • 咂嘴-机器人的扩展-4.1.1.jar
  • 咂嘴核-4.1.1.jar
  • 咂嘴-TCP-4.1.1.jar

运行项目后,我收到此错误:

FATAL EXCEPTION: main
     Process: com.example.smacktester, PID: 8329
     java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jivesoftware/smack/tcp/XMPPTCPConnectionConfiguration;
        at com.example.smacktester.MainActivity.onCreate(MainActivity.java:34)
        at android.app.Activity.performCreate(Activity.java:5933)
        at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1105)
        at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2282)
        at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2389)
        at android.app.ActivityThread.access$900(ActivityThread.java:147)
        at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1296)
        at android.os.Handler.dispatchMessage(Handler.java:102)
        at android.os.Looper.loop(Looper.java:135)
        at android.app.ActivityThread.main(ActivityThread.java:5254)
        at java.lang.reflect.Method.invoke(Native Method)
        at java.lang.reflect.Method.invoke(Method.java:372)
        at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:898)
        at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:693)
     Caused by: java.lang.ClassNotFoundException: Didn't find class "org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration" on path: DexPathList[[zip file "/data/app/com.example.smacktester-1/base.apk"],nativeLibraryDirectories=[/vendor/lib, /system/lib]]
        at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
        ... 14 more
        Suppressed: java.lang.ClassNotFoundException: org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration
            at java.lang.Class.classForName(Native Method)
            at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
            at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
            at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
            ... 15 more
        Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
  

出了什么问题?

我正在使用eclipse。

0 个答案:

没有答案