我正在为Unity做一个android插件,我需要将XMPP集成到Unity中,因此首先我要尝试创建XMPP的连接并发送和接收消息.它在android中工作正常,我能够发送和接收消息,但是当我导出.jar文件并在Unity中使用时,在创建连接时出现以下错误

SmackInitialization: Could not determine Smack version

java.lang.NullPointerException: lock == null

at java.io.Reader.(Reader.java:64)

at java.io.InputStreamReader.(InputStreamReader.java:122)

at java.io.InputStreamReader.(InputStreamReader.java:57)

at org.jivesoftware.smack.SmackInitialization.(SmackInitialization.java:61)

at org.jivesoftware.smack.SmackConfiguration.getVersion(SmackConfiguration.java:96)

at org.jivesoftware.smack.ConnectionConfiguration.(ConnectionConfiguration.java:38)

at com.arvaan.myplugins.ToastExample.connectXMPP(ToastExample.java:99)

at com.unity3d.player.UnityPlayer.nativeRender(Native Method)

at com.unity3d.player.UnityPlayer.a(Unknown Source)

at com.unity3d.player.UnityPlayer$b$1.handleMessage(Unknown Source)

at android.os.Handler.dispatchMessage(Handler.java:98)

at android.os.Looper.loop(Looper.java:234)

at com.unity3d.player.UnityPlayer$b.run(Unknown Source)

我不知道Smack的问题是什么,我是Unity的新手,我知道如何在Unity中创建插件和调用方法,但是不知道这是怎么回事.

请检查代码:

public class ToastExample extends UnityPlayerActivity implements ConnectionListener, ChatManagerListener, RosterListener, PingFailedListener, StanzaListener, MessageListener, ChatMessageListener {

private static final String TAG = ToastExample.class.getSimpleName();

private AbstractXMPPConnection mConnection = null;

private ChatManager chatManager;

private Chat chat;

private Context context;

private String userName = "";

private String passWord = "";

private String objectName = "";

private static ToastExample instance;

public ToastExample() {

this.instance = this;

}

public static ToastExample instance() {

if (instance == null) {

instance = new ToastExample();

}

return instance;

}

public void setContext(Context context) { // This is also working fine

Log.e(TAG, "setContext called");

this.context = context;

}

public void showMessage(String message) { // I can able to see toast

Toast.makeText(this.context, message, Toast.LENGTH_SHORT).show();

}

public void connectXMPP(String host, int port, String userName, String passWord) {

Log.e(TAG, "_connectXMPP called");

XMPPTCPConnectionConfiguration.Builder configBuilder = XMPPTCPConnectionConfiguration.builder(); // Here i got error

configBuilder.setUsernameAndPassword(userName, passWord);

...............

...............

}

我在我的插件和Unity中使用以下.Jar文件

smack-core-4.1.4.jar

smack-extensions-4.1.4.jar

smack-im-4.1.4.jar

smack-android-4.1.4.jar

smack-android-extensions-4.1.4.jar

smack-tcp-4.1.4.jar

jxmpp-util-cache-0.4.2.jar

jxmpp-core-0.4.2.jar

jxmpp-jid-0.4.2.jar

jxmpp-stringprep-libidn-0.4.2.jar

minidns-core-0.2.0.jar**

有人也面临此问题,但未找到Check more

请帮助我解决此问题,在此先感谢.

java smack jar_android-SmackInitialization:无法确定Smack版本相关推荐

  1. hook java android_Android Hook Java的的一個改進版本

    Hook Java的的一個改進版本 <注入安卓進程,並Hook java世界的方法>這篇好文相信大家都看這,里面所提到的方法估計大家也都試過.不過里面的所用的方法,我發現有兩個可以改進的地 ...

  2. java jdk 环境不一致_jdk(多版本)安装注意!

    4.第二步,开始安装Jdk的运行环境,我将它安装在..../java_jdk1.8/jre8下: 5.安装完JDK后配置环境变量  计算机→属性→高级系统设置→高级→环境变量 系统变量→新建 JAVA ...

  3. java 获取apk版本号_纯JAVA环境获取APK信息:包名,版本,版本号,大小,权限...

    [实例简介] 纯JAVA环境获取APK信息:包名,版本,版本号,大小,权限... 代码讲解地址:http://blog.csdn.net/chillax_li/article/details/4185 ...

  4. IDEA 运行maven项目时出错:Error java:错误: 不支持发行版本 XXX 5,12,14等

    IDEA 运行maven项目时出错:Error : java:错误: 不支持发行版本 5 java学习笔记 报错截图 错误说明 [Error : java:错误: 不支持发行版本 5]错误是因为jav ...

  5. Java JDK中几个经典的版本

    Java JDK中几个经典的版本 1. 1995年05月23日 JDK 1.0 版发布,于1996年JDK正式提供下载,标志着Java的诞生. 2. 1998年12月04日 JDK 1.2 版发布,而 ...

  6. java学习笔记:全部,txt版本

    java学习笔记:全部,txt版本 笔者注: 1.不知道怎么上传附件,所以就把txt文本内容全部贴在这里吧. 2.已经把txt版本的笔记上传到CSDN了,我没有设置索要积分才能下载,但是不知道为什么C ...

  7. Word处理控件Aspose.Words功能演示:使用 Java 处理 Word 文档的原始版本或修订版本

    Aspose.Words是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word. A ...

  8. java运行平台的3个版本,目前 Java 平台主要分为哪3个版本?

    目前 Java 平台主要分为哪3个版本? 更多相关问题 FusionInsight LibrA完全继承了PostgreSQL的用户和角色的. E-105与C-101连通的物料线上各有一手阀. 足够大的 ...

  9. java xmpp smack_【XMPP】Smack源码之初步认识

    Smack 概述 Smack是一个用于和XMPP服务器通信的类库,由此可以实现即时通讯和聊天. Smack主要优势 非常简单易用,并且有十分强大的 API.只需三行代码就可以向用户发关文本消息: XM ...

最新文章

  1. 多媒体指令(灰度像素最大值)
  2. Openssl自签名证书
  3. 中 找多个平面_数学一轮复习30,平面向量的概念及线性运算,三个常用结论
  4. 树上有10只鸟,打死1只,还剩几只?答案太牛了!
  5. android动画文档,Android 动画系统汇总
  6. 读书笔记-说服力 让你的PPT会说话
  7. mysql hammerdb,[料理佳餚] 用 HammerDB 來執行資料庫 TPC-C 效能量測
  8. Python笔记-使用sqlalchemy根据类创建数据库表
  9. 吊打 IE、Firefox,谷歌 Chrome 十年封神记
  10. 转:华为最新ARP防护
  11. win10下怎么运行java,如何在Windows 10中运行Java程序
  12. mhdd测试hdd硬盘软件,硬盘检测工具(HDDScan)
  13. UEFI 启动 win7
  14. 计算机源代码英语,计算机源代码编写规范(国外英文资料).doc
  15. C51最小系统板红外遥控控制led灯的亮灭
  16. 计算机裸机是指,计算机中裸机是指
  17. 定义一个长方形(Rectangle)类,有长、宽属性,对每个属性都提供相应的get/set方法。
  18. 计算机教学特点怎么写,中学计算机教学特点.doc
  19. 腾讯:互联网金融行业HBase实践与创新
  20. 《新程序员》杂志|李鹏辉谈开源云原生消息流系统

热门文章

  1. 众多的光时域反射仪品牌中 该选择哪个品牌的OTDR?
  2. Java 将中文转拼音(多音字拼音)
  3. php yii tipask 单点登录,仿360问答系统|Tipask问答系统 v2.5 正式版
  4. 报错:Exception in thread “main“ org.apache.ibatis.binding.BindingException: Invalid bound statement (n
  5. 5G网络相对于4G仅提升了速度吗?
  6. android人脸表情,unity人脸面部表情视觉识别插件Dlib FaceLandmark Detector 1.2.7
  7. 学习资料 - 收藏集 - 掘金
  8. tensorflow源码精读之graph
  9. 迅睿cms免登陆新闻发布接口
  10. 隧道技术 Frp 多层内网穿透