I am having a problem with my application in which I want to create a simple XMPP client that connects to my server. I had the following problem when I run the application (compilation runs without problems), but my application instantly closes.
java.lang.NoClassDefFoundError: Failed resolution of: Lorg/jxmpp/util/XmppStringUtils; at org.jivesoftware.smack.provider.ProviderManager.getKey(ProviderManager.java:314) at org.jivesoftware.smack.provider.ProviderManager.addStreamFeatureProvider(ProviderManager.java:304) at org.jivesoftware.smack.provider.ProviderManager.addLoader(ProviderManager.java:140) at org.jivesoftware.smack.initializer.UrlInitializer.initialize(UrlInitializer.java:54) at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:232) at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:193) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:163) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:148) at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:116) at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96) at org.jivesoftware.smack.ConnectionConfiguration.<clinit>(ConnectionConfiguration.java:38) at org.reisacher.zapp.Main.login(Main.java:30) at org.reisacher.zapp.Main.onCreate(Main.java:73) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5257) 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:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Caused by: java.lang.ClassNotFoundException: Didn't find class "org.jxmpp.util.XmppStringUtils" on path: DexPathList[[zip file "/data/app/org.reisacher.zapp-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 at org.jivesoftware.smack.provider.ProviderManager.getKey(ProviderManager.java:314) at org.jivesoftware.smack.provider.ProviderManager.addStreamFeatureProvider(ProviderManager.java:304) at org.jivesoftware.smack.provider.ProviderManager.addLoader(ProviderManager.java:140) at org.jivesoftware.smack.initializer.UrlInitializer.initialize(UrlInitializer.java:54) at org.jivesoftware.smack.SmackInitialization.loadSmackClass(SmackInitialization.java:232) at org.jivesoftware.smack.SmackInitialization.parseClassesToLoad(SmackInitialization.java:193) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:163) at org.jivesoftware.smack.SmackInitialization.processConfigFile(SmackInitialization.java:148) at org.jivesoftware.smack.SmackInitialization.<clinit>(SmackInitialization.java:116) at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96) at org.jivesoftware.smack.ConnectionConfiguration.<clinit>(ConnectionConfiguration.java:38) at org.reisacher.zapp.Main.login(Main.java:30) at org.reisacher.zapp.Main.onCreate(Main.java:73) at android.app.Activity.performCreate(Activity.java:5990) at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2390) at android.app.ActivityThread.access$800(ActivityThread.java:151) at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) at android.os.Handler.dispatchMessage(Handler.java:102) at android.os.Looper.loop(Looper.java:135) at android.app.ActivityThread.main(ActivityThread.java:5257) 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:903) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) Suppressed: java.lang.ClassNotFoundException: org.jxmpp.util.XmppStringUtils 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) ... 27 more Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available
But for some reason I can not find anything related to the missing "XmppStringUtils"
This is the code on line 30
public void login() throws XMPPException, IOException, SmackException { XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() .setServiceName("reisacher.de") .setHost("192.168.178.6") .setPort(5222) .build(); AbstractXMPPConnection connection = new XMPPTCPConnection(config); connection.connect(); connection.login(username, password); }
And this is my import
import org.jivesoftware.smack.AbstractXMPPConnection; import org.jivesoftware.smack.SmackException; import org.jivesoftware.smack.XMPPException; import org.jivesoftware.smack.tcp.XMPPTCPConnection; import org.jivesoftware.smack.tcp.XMPPTCPConnectionConfiguration;
Plus my build.gradle
// Top-level build file where you can add configuration options common to all sub-projects/modules. apply plugin: 'jetty' buildscript { repositories { maven { url 'https://oss.sonatype.org/content/repositories/snapshots' } mavenCentral() } dependencies { classpath 'com.android.tools.build:gradle:1.2.3' } } dependencies { compile "org.igniterealtime.smack:smack-android:4.1.1" compile "org.igniterealtime.smack:smack-tcp:4.1.1" // optional features compile "org.igniterealtime.smack:smack-android-extensions:4.1.1" compile "org.igniterealtime.smack:smack-core:4.1.1" } allprojects { repositories { jcenter() } }
thanks
source share