我一直在做一个完美的项目,直到我包含android-smack-xmpp库。Android构建变体调试给出java.lang.NoClassDefFoundError
在此包含之后,我无法在调试模式下在设备上运行应用程序(API < 21)。不过,我可以在发布版本上运行它。
Process: com.example, PID: 496
java.lang.NoClassDefFoundError: com.example.network.ServerCalls$3
at com.example.network.ServerCalls.initData(ServerCalls.java:167)
at com.example.ui.fragmentsAndActivities.homeFeed.HomePageActivity.onCreate(HomePageActivity.java:212)
at android.app.Activity.performCreate(Activity.java:5248)
at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1110)
at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2162)
at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2257)
at android.app.ActivityThread.access$800(ActivityThread.java:139)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1210)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:136)
at android.app.ActivityThread.main(ActivityThread.java:5086)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:515)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:785)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:601)
at dalvik.system.NativeStart.main(Native Method)
ServerCalls包含在HomePageActivity中,编译工作得很好。我在这里可能会错过什么?
而且HomePageActivity.java:212是:
ServerCalls.samosaInitData()
编辑:我已经能够得到它的工作我的gradle中的调试版本设置minifyEnabled
和shrinkResources
到true
。这可能指向JVM中不正确的链接。但是这对我来说看起来像一个黑客。有人能指点我一个更干净的方式吗?
我已经设置了smack API设置为编译。尽管如此,类“ServerCalls”仍在主项目中。 –