我要写个消息推送的应用,引用了开源的smack包,但始终无法将这些jar包打进apk包里,在运行时总是报下面的错误:
java.lang.NoClassDefFoundError: org.jivesoftware.smack.ConnectionConfiguration
我也在网上查了,按照大家给的方法去做:
1.在工程的目录下新建了一个libs的目录,跟src目录同一级,然后将smack的jar包都复制到这个目录下
2.Build Path -> Add Libraries -> User Library -> User Libraries -> New,我新建工程里的是smacklib,并勾选了System library,点击OK
3.点击Add Jars,将libs目录下的jar包都加到smacklib下
按上述步骤做了后,debug时仍然报上面的错误,于是我又点击了Build Path -> Configure Build Path,在Order and Export页签下将smacklib移到最顶上的位置,我前后试了勾选和不勾选,上面的报错始终没解决
我的配置截图如下:
我还用WinRar把打包好的apk文件打开看了,根本没有我引用的这些包,这些包一直都打不进去,如果是将lib设置User as Source Folder,则运行时直接报编译错误:Conversion to Dalvik format failed with error 1,请各位帮忙看看,还有哪些地方需要配置的?
------解决思路----------------------
我加jar包的时候是没有你说的第二步,直接加到libs下,在看下Order and Export勾选了没,build就可以了。
还报错的话就是看下包是否冲突,另外你得smack所需求的版本跟你当前环境的版本是否是对应的。