android 搭建Smack4.2.1 使用openfire 的流程和各种坑
来源:互联网 发布:乐其网络 编辑:程序博客网 时间:2024/06/08 05:03
openfire这个im服务器是开源的,但是bug不少,一堆坑。
配合android端使用的是smack,现在目前最新的是4.2.1,以前我已经搭建了4.1.4,但是smack维护还是比较多的,看看他们的更新日志,呃,新功能不少,而且还不错的样子,但是对于旧版本的话,呵呵,不好意思,不太支持,因为新版本对于旧版本来说,经常有不少的变动,主要的方法还经常改着改那的,所有更新的话需要重新去适应。
主题来了:
首先介绍资源(上不了请翻墙):
官方文档地址:https://download.igniterealtime.org/smack/docs/latest/documentation/
官方论坛(比较好找问题处理的地方):https://discourse.igniterealtime.org/
官方smack的下载地址和openfire服务器或者是各种客户端都可以在官网找得到:https://www.igniterealtime.org/index.jsp
步骤(android studio)
先构建Gradle,直接上jar
compile files('libs/xpp3-1.1.6.jar')compile files('libs/fscontext.jar')compile files('libs/providerutil.jar')compile files('libs/smack-android-4.2.1.jar')compile files('libs/smack-core-4.2.1.jar')compile files('libs/smack-extensions-4.2.1.jar')compile files('libs/smack-im-4.2.1.jar')compile files('libs/smack-resolver-minidns-4.2.1.jar')compile files('libs/smack-sasl-provided-4.2.1.jar')compile files('libs/smack-tcp-4.2.1.jar')compile files('libs/jxmpp-core-0.5.0.jar')compile files('libs/jxmpp-jid-0.5.0.jar')compile files('libs/jxmpp-util-cache-0.5.0.jar')compile files('libs/smack-android-extensions-4.2.1.jar')compile group: 'de.measite.minidns', name: 'minidns-hla', version: '0.2.2'
构建的问题比较多。一个个处理
1.xpp3 ,Error:trouble processing "javax/xml/namespace/QName.class这个jar下载地址:点击打开链接,完了还要删除QName.class文件后重新打包成jar
2.项目中可能会报Didn't find class "javax.naming.directory.InitialDirContext"这个错误,因为android不能加载javax.naming包,所有,当你导入smack的libs各个jar时,要注意!
千万不要把全部jar都导到自己项目中去,因为有几个包跟android有冲突,按照上面给的去导入即可,或者以后选择添加。
3.Failed resolution of: Lde/measite/minidns/hla/DnssecResolverApi; 这个错误,因为smack的jar包中还需要自己去引用minidns的jar,所有要 compile group: 'de.measite.minidns', name: 'minidns-hla', version: '0.2.2',或者是到http://mvnrepository.com/artifact/de.measite.minidns/minidns-hla/0.2.4,这个网址可以搜索到大部分日常所需的jar。
构建完,就开始connection
连接的代码请放到线程上操作。
这个就开始根据官方的教程开始,自己旧的那套木有啥用了。
首先是建立连接:
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() .setUsernameAndPassword("username", "password") .setXmppDomain("jabber.org") .setHost("earl.jabber.org") .setPort("8222") .build();AbstractXMPPConnection conn2 = **new** XMPPTCPConnection(config);conn2.connect();
运行,项目没死但警告java.security.KeyStoreException: java.security.NoSuchAlgorithmException
需要关闭些东西:
XMPPTCPConnectionConfiguration config = XMPPTCPConnectionConfiguration.builder() .setUsernameAndPassword("username", "password") .setXmppDomain("jabber.org") .setHost("earl.jabber.org") .setPort("8222")
.setSecurityMode(ConnectionConfiguration.SecurityMode.disabled) .build();
这个就可以了。conn2.connect();
conn2.login();
完成登录
- android 搭建Smack4.2.1 使用openfire 的流程和各种坑
- 使用Android+smack4.1.4+openfire进行IM开发
- 使用Android+smack4.1.4+openfire进行IM开发
- 最新版openfire+smack4.2 Android开发判断是否连接的有效办法
- Android xmpp基于smack4.1.2基本功能使用
- 关于使用smack4.x 在android平台开发时的jar包问题小结
- 开端:XMPP开发 Smack4.1+Openfire
- openfire的启动流程
- openfire的启动流程
- Android之即时通讯之基于XMPP(一)-openfire服务端的安装和搭建
- 【openfire,smack使用总结】--openfire环境搭建
- openfire的配置搭建
- Openfire + Spark 搭建IM简明流程
- 使用Hazelcast搭建openfire Clustering
- Android 实现聊天-smack4.19
- IM平台的搭建:openfire服务端和spark客户端
- XMPP(一)-openfire服务端的安装和搭建
- XMPP(一)-openfire服务端的安装和搭建
- 链接文字太长的解决
- 欢迎使用CSDN-markdown编辑器
- [ Java学习 ] 其他知识总结(重要)
- 人民币问题
- #Thinking in Java阅读笔记# 第二章 一切都是对象
- android 搭建Smack4.2.1 使用openfire 的流程和各种坑
- 过滤器Filter的案例4——实现全站的数据的压缩
- Kibana常用查询规则
- python操作EXCEL的操作实例源码(读数据、写数据)
- Java数据结构和算法(四)——栈
- Linux中可执行文件
- 笔记网站
- idea tomcat plugins error
- python3 爬虫基础(一本书推荐)