本博文由larson纯手工打字,纯个人翻译,翻译的不好还请指正,文章主要是为了让其他研究asmack的人能更快使用asmack,不喜勿喷,请尊重劳动成果。
需求:
你需要调用SmackAndroid.init(Context) (在 org.jivesoftware.smack包里面)来初始化Smack在Adnroid上的运行环境,否则的话Smack可能像预期那样起作用。
Smack需要dnsjava包给DNS SRV提供查找服务,因此,你需要添加dnsjava库到你的工程库里。
ProGuard
如果你使用ProGuard,你必须配置它使smack最优化
#Smack指定的配置
-保留类 de.measite.smack.AndroidDebugger { *; }
-保留类 * implements org.jivesoftware.smack.initializer.SmackInitializer
-保留类 * implements org.jivesoftware.smack.provider.IQProvider
-保留类 * implements org.jivesoftware.smack.provider.PacketExtensionProvider
-保留类 * extends org.jivesoftware.smack.packet.Packet
-保留类 org.jivesoftware.smack.XMPPConnection
-保留类 org.jivesoftware.smack.ReconnectionManager
-保留类 org.jivesoftware.smack.CustomSmackConfiguration
-保留类 org.jivesoftware.smackx.disco.ServiceDiscoveryManager
-保留类 org.jivesoftware.smackx.xhtmlim.XHTMLManager
-保留类 org.jivesoftware.smackx.muc.MultiUserChat
-保留类 org.jivesoftware.smackx.bytestreams.ibb.InBandBytestreamManager
-保留类 org.jivesoftware.smackx.bytestreams.socks5.Socks5BytestreamManager
-保留类 org.jivesoftware.smackx.filetransfer.FileTransferManager
-保留类 org.jivesoftware.smackx.iqlast.LastActivityManager
-保留类 org.jivesoftware.smackx.commands.AdHocCommandManager
-保留类 org.jivesoftware.smackx.ping.PingManager
-保留类 org.jivesoftware.smackx.privacy.PrivacyListManager
-保留类 org.jivesoftware.smackx.time.EntityTimeManager
-保留类 org.jivesoftware.smackx.vcardtemp.VCardManager
问题/调试
更多关于XMPP文件的移植SSL证书和其他相关人员可以在维基百科上找到
https://github.com/Flowdalic/asmack/wiki
我们一直提供了源码压缩包,把它们打包成jar包添加到你喜欢的IDE,我们可以在调试模式下使用XMPPConnection,关于如何调试以及如何配置调试,我们可以参照
http://www.igniterealtime.org/builds/smack/docs/latest/documentation/debugging.html
PS:欢迎留言,互相学习,悉心听取指教。